日志
默认使用控制台输出,文件输出可选。
如果使用starter
依赖,默认启用logback。
控制台输出
- 激活debug调试模式。在配置文件中加入
debug=true
(不是打印所有的debug信息) - 默认输出
ERROR
,WARN
,INFO
级别信息 - 日志彩色配置:
spring.output.snsi.enable=always
控制台日志配置:
logging:
pattern:
console: '%clr(%d{
HH:mm:ss}){
yellow} [%clr(%thread){
magenta}] %-5level --- %clr(%logger){
cyan} | %msg%n' # 自定义控制台打印信息,选配,取决于业务需求显示信息
spring:
output:
ansi:
enabled: always # 日志彩色
文件输出
默认情况下,Spring Boot只会打印到控制台中,不会写日志文件。如果既想控制台打印又想有日志文件,根据业务需求,参考如下
logger配置属性说明
logging.file | logging.path | 示例 | 说明 |
---|---|---|---|
不配置 | 不配置 | 只会打印控制台 | |
指定文件 | 不配置 | my.log | 日志写到指定文件中;名称可以是确切位置或者是相对于当前目录 |
不配置 | 指定目录 | G:/log | 写spring.log 文件到指定的目录。值可以是确切位置或者相对于当前目录 |
配置 | 配置 | my.log g:/log | 两个属性同时配置,只有logging.file 配置生效 |
日志文件到达10MB会进行轮转。
日志文件大小配置:logging.file.max-size
日志归档配置:logging.file.max-history
示例为:日志最大为3KB,历史保留最大归档数为5
############################
# logging setting
###########################
logging:
pattern:
console: '%clr(%d{
HH:mm:ss}){
yellow} [%clr(%thread){
magenta}] %-5level --- %clr(%logger){
cyan} | %msg%n' # 自定义控制台打印信息
path: ./ #配置日志文件路径 默认日志名称spring.log
file:
max-size: 3KB
max-history: 5
或者
############################
# logging setting
###########################
logging.file: demo.log
logging:
pattern:
console: '%clr(%d{
HH:mm:ss}){
yellow} [%clr(%thread){
magenta}] %-5level --- %clr(%logger){
cyan} | %msg%n' # 自定义控制台打印信息
file:
max-size: 3KB
max-history: 5 # 最多保留5个日志归档文件
日志级别
设置打印的日志级别
在配置文件中配置logging.level.<logger-name>
配置值可以是TRACE
,DEBUG
,INFO
,WARN
,FATAL
,或者OFF
默认包名扫描配置文件:
############################
# logging setting
###########################
logging:
level:
root: warn
org:
springframework:
web: INFO
hibernate: error
错误级别优先级
各级别的排序为:TRACE < DEBUG < INFO < WARN < ERROR。
详细描述可参考
自定义日志配置
属性配置
提供一个合适的配置在根路径下或者classpath下,或者指定的位置。
propertie中属性配置logging.config
=xx/xx
采用logback,则对应的配置文件名是logback-spring.xml、logback.xml(Spring Boot建议如果可能,尽量采用logback-spring.xml)
- 注意
(1)如果采用logback-spring.xml,spring会自动找这个配置文件,不需要加配置属性logging.config
。
(2)如果采用logback-spring.xml配置,在application.properties中某些日志配置会被覆写
-
logging.file
,logging.path
日志文件存储位置,虽然配置了,但是不会生效。 - 在properties中配置了
logging.level.root=xx
,在logback-spring.xml中也配置了,以properties中的为准。(不建议配置properties中)
简单配置(输出到控制台)
<configuration>
<!--加入标准的控制台打印-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder