日志框架logback 上层的抽象层slf4j
日志级别由低到高:trace<debug<info<warn<error
springboot默认为info级别,比它低级别的就不显示了,因为不重要
修改某个包日志级别:
properties配置文件中,如果是yml对应修改
logging.level.com.mengxuegu=debug
包名=级别
修改springboot日志级别:
properties配置文件中,如果是yml对应修改
logging.level.root=debug
日志输出的两个配置
logging.file | logging.path | 配置示例 | 说明 |
指定文件名 | none | springboot.log 或者D:/springboot.log |
输出到当前根目录下的springboot.log 或者指定磁盘路径 |
none | 指定目录 | /springboot/log | 输出到当前项目所在磁盘根目录下的/springboot/log/的新创建的spring.log中 |
两个都配置时 | 执行logging.file的配置,也是springboot推荐配置,因为logging.file也可以指定磁盘路径完成logging.path的功能 |
踩坑:较新版本springboot已经将logging.file修改为logging.file.name
将logging.path修改为logging.file.path
修改控制台日志输出格式:
logging.pattern.console=%d{yyyy-MM-dd} == [%thread] == %-5level == %logger{50} - %msg%n
修改日志文件输出格式:
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} >>> [%thread] >>> %-5level >>> %logger{50} >>> %msg%n
springboot规定使用logback框架的配置文件名是logback.xml,放在resources下
其他框架的配置文件名和放置位置可以查看官方文档,网址:
https://docs.spring.io/spring-boot/docs/2.0.6.RELEASE/reference/htmlsingle/#boot-features-logging
多环境下的日志自定义,需要用logback-spring.xml这个名称
放在logback-spring.xml的第一个layout里面可以配置不同环境下的日志输出格式
<springProfile name="dev">
<!-- configuration to be enabled when the "staging" profile is active -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - [%thread] - %-5level - %logger{50} - %msg%n</pattern>
</springProfile>
properties中也要对应配置profiles配置
默认是logback日志框架,切换成log4j2日志框架:
https://docs.spring.io/spring-boot/docs/2.0.6.RELEASE/reference/htmlsingle/#boot-features-logging
找到13.5 Starters
找到spring-boot-starter-log4j2
在pom里替换掉spring-boot-starter-logging
输出某日志
Logger logger = LoggerFactory.getLogger(getClass());
logger.info("xxx");