目录
Springboot日志使用
Logback日志
日志格式
自定义日志格式
日志文件输出
Springboot启用log4j2日志框架
Springboot底层是使用slf4j+logback的方式进行日志记录
trace:级别最低
debug:调试级别的,常用于跟踪程序的进展
info:普通的打印信息(默认的日志级别)
warn:警告级别,不影响使用,但应该注意
error:错误级别,错误日志信息打印
fatal:致命级别,因代码异常导致程序退出,级别最高
日志级别
Trace-> debug-> info-> warn-> error-> fatal
logger.trace("trace");跟踪
logger.debug("debug");调试
logger.info("info");信息
logger.warn("warn");告警
logger.error("error");异常
logging:
level:
root: trace
logging:
level:
com:
example: trace
1、时间日期:精确到毫秒
2、日志级别:ERROR,WARN,INFO,DEBUG,TRACE
3、进程ID:
4、分隔符:— 标识实际日志的开始
5、线程名:方括号括起来(可能会截断控制台输出)
6、Logger名:通常使用源代码的类名
7、日志内容:
%
clr(%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}){yellow}
docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging
默认情况下,springboot仅记录到控制台,不写日志文件。
若要输出日志文件,需设置logging.file.name或logging.file.path属性
logging:
level:
com:
example: trace
#logging.pattern.dateformat -> LOG_DATEFORMAT_PATTERN
#https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging
#pattern:
# dateformat: yyyy-MM-dd HH:mm:ss.SSS
file:
#log文件默认在项目的相对路下
name: D:/test/log/demo.log
file:
#默认文件名spring.log
# name: D:/test/log/demo.log
#log文件默认在项目的相对路下
path: D:/test/log/
logging:
level:
com:
example: trace
#logging.pattern.dateformat -> LOG_DATEFORMAT_PATTERN
#https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging
#pattern:
# dateformat: yyyy-MM-dd HH:mm:ss.SSS
file:
#默认文件名spring.log
name: D:/test/log/demo.log
#log文件默认在项目的相对路下
# path: D:/test/log/
# 最大日志文件大小(默认为10MB,这里为了测试归档,暂时设置为5KB)
max-size: 5KB
# 要保留的日志备份的总大小(默认为0B)
total-size-cap: 1GB
# 保存存档日志文件的最大天数(默认为7天)
max-history: 7
${log.pattern}
${log.path}/info.log
${log.path}/sys-info.%d{yyyy-MM-dd}.log
60
${log.pattern}
INFO
ACCEPT
DENY
${log.path}/debug.log
${log.path}/sys-debug.%d{yyyy-MM-dd}.log
60
${log.pattern}
DUBUG
ACCEPT
DENY
${log.path}/error.log
${log.path}/error.%d{yyyy-MM-dd}.log
60
${log.pattern}
ERROR
ACCEPT
DENY
${log.path}/user.log
${log.path}/sys-user.%d{yyyy-MM-dd}.log
60
${log.pattern}
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
./logs
test
Apache Log4j2 (Log4j – Apache Log4j 2)是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并参考了Logback中优秀的设计,同时修复了Logback架构中的一些问题。被誉为是目前最优秀的Java日志框架;企业中通常使用SLF4j门面+Log4j2来记录日志。
SLF4J: Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@11c20519]
SLF4J: Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@70beb599]
存在依赖冲突,解决办法
排查发现
spring-boot-starter-actuator
springfox-swagger2
springfox-swagger-ui
spring-boot-starter-web
需排除logback依赖否则会与log4j2产生依赖冲突
Mybatis日志交给log4j2管理
mybatis-config.xml
log4j2.xml
./logs
wms