Spring Boot中使用logback日志框架


說明:Spring Boot在最新的版本中默認使用了logback框架。一般來說使用時只需在classpath下創建logback.xml即可,而官方推薦使用logback-spring.xml替代,效果更好,並且官方的application.properties文件也可以配置,但是選項較少。

logback.xml文件參考:http://www.cnblogs.com/EasonJim/p/7801231.html

application.properties文件參考:

logging.config = #記錄配置文件的位置。例如Logback的`classpath:logback.xml` 
logging.exception-conversion-word =%wEx #記錄異常時使用的轉換字。
logging.file =#日志文件名稱。例如`myapp.log` 
logging.level.* = #日志級別嚴重性映射。例如`logging.level.org.springframework = DEBUG` 
logging.path = #日志文件的位置。例如`/var/log` 
logging.pattern.console = #輸出到控制台的Appender模式。僅支持默認的登錄設置。
logging.pattern.file = #輸出到文件的Appender模式。僅支持默認的登錄設置。
logging.pattern.level = #日志級別的Appender模式(默認%5p)。僅支持默認的登錄設置。
logging.register-shutdown-hook = false#初始化時為日志系統注冊一個關閉鈎子

通過啟動參數設置:

Spring的配置(可以通過啟動是--xxx指定) 系統屬性(可以通過啟動是-Dxxx指定) 注釋

logging.exception-conversion-word

LOG_EXCEPTION_CONVERSION_WORD

記錄異常時使用的轉換字。

logging.file

LOG_FILE

用於默認日志配置(如果已定義)。

logging.path

LOG_PATH

用於默認日志配置(如果已定義)。

logging.pattern.console

CONSOLE_LOG_PATTERN

在控制台上使用的日志模式(stdout)。(僅支持默認的登錄設置。)

logging.pattern.file

FILE_LOG_PATTERN

在文件中使用的日志模式(如果啟用LOG_FILE)。(僅支持默認的登錄設置。)

logging.pattern.level

LOG_LEVEL_PATTERN

用於呈現日志級別的格式(默認%5p)。(僅支持默認的登錄設置。)

PID

PID

當前的進程ID(如果可能,還沒有被定義為OS環境變量時發現)。

說明:上面表格可以通過properties指定,也可以通過啟動參考--xxx指定,同時也支持系統屬性-Dxxx啟動時指定。

配置技巧:

1、logging.config=classpath:logback-boot.xml,可以指定xml的配置文件,但是不要使用logback.xml,因為logback.xml的加載早於application.properties。

2、默認情況下,spring boot從控制台打印出來的日志級別只有ERROR, WARN 還有INFO,如果你想要打印debug級別的日志,可以通過application.properites配置debug=true,也可以這樣指定java -jar C:\Users\Administrator\Desktop\xx\demo.jar --debug

配置項參考:

logging.level.root=INFO
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

3、默認情況下spring boot是不將日志輸出到日志文件中,但你可以通過在application.properites文件中配置logging.file文件名稱和logging.path文件路徑,將日志輸出到文件中。

配置項參考:

logging.path=F:\\demo
logging.file=demo.log
logging.level.root=info

4、logging.path與logging.file的配置注意事項

  • 里若不配置具體的包的日志級別,日志文件信息將為空
  • 若只配置logging.path,那么將會在F:\demo文件夾生成一個日志文件為spring.log(ps:該文件名是固定的,不能更改)。如果path路徑不存在,會自動創建該文件夾
  • 若只配置logging.file,那將會在項目的當前路徑下生成一個demo.log日志文件。這里可以使用絕對路徑如,會自動在e盤下創建文件夾和相應的日志文件。
    logging.file=e:\\demo\\demo.log
  • logging.path和logging.file同時配置,不會在這個路徑有F:\demo\demo.log日志生成,logging.path和logging.file不會進行疊加(要注意)
  • logging.path和logging.file的value都可以是相對路徑或者絕對路徑

 

參考:

https://docs.spring.io/spring-boot/docs/1.5.7.RELEASE/reference/htmlsingle/#boot-features-custom-log-configuration(官方配置文件)

http://www.cnblogs.com/lixuwu/p/5804793.html(以上部分內容轉自此篇文章)

http://blog.csdn.net/lu1005287365/article/details/53382283

http://blog.csdn.net/sun_t89/article/details/52130839

https://springframework.guru/using-logback-spring-boot/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM