說明: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指定) | 注釋 |
---|---|---|
|
|
記錄異常時使用的轉換字。 |
|
|
用於默認日志配置(如果已定義)。 |
|
|
用於默認日志配置(如果已定義)。 |
|
|
在控制台上使用的日志模式(stdout)。(僅支持默認的登錄設置。) |
|
|
在文件中使用的日志模式(如果啟用LOG_FILE)。(僅支持默認的登錄設置。) |
|
|
用於呈現日志級別的格式(默認 |
|
|
當前的進程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都可以是相對路徑或者絕對路徑
參考:
http://www.cnblogs.com/lixuwu/p/5804793.html(以上部分內容轉自此篇文章)
http://blog.csdn.net/lu1005287365/article/details/53382283