SpringBoot 日志
第四天学习笔记,可参考官方文档 第26章
-
SpringBoot 选用SLF4J和logback
- 原理图
- 对其他框架的适配
- 原理图
-
代码示例
- 代码
package com.lz.sporingboot; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class Sporingboot3LogApplicationTests { //使用SLF4J Logger logger = LoggerFactory.getLogger(getClass()); @Test void contextLoads() { //日志级别由低到高,默认输出到控制台,级别info及以上 logger.trace("trace log..........................."); logger.debug("debug log..........................."); logger.info("info log............................."); logger.warn("warn log............................."); logger.error("error log..........................."); } }
- 结果
-
指定日志文件输出
- logging.file=/path/to/logname 指定输出到具体路径,文件名为logname
- 配置
# 指定输出级别 logging.level.com.lz=trace # 没有指定路径,输出到工程根目录下的文件 logging.file=springboot-3.log # <encoder> 表示对日志进行编码: # %d{HH: mm:ss.SSS}——日志输出时间 # %thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用 # %-5level——日志级别,并且使用5个字符靠左对齐 # %logger{36}——日志输出者的名字 # %msg——日志消息 # %n——平台的换行符 logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
- 结果
- 配置
- logging.path=/path 指定输出到指定目录下,文件名为spring.log
- 配置
# 指定输出级别 logging.level.com.lz=trace # 没有指定路径,输出到工程根目录下的文件 #logging.file=springboot-3.log logging.path=/home/poppy/Documents # <encoder> 表示对日志进行编码: # %d{HH: mm:ss.SSS}——日志输出时间 # %thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用 # %-5level——日志级别,并且使用5个字符靠左对齐 # %logger{36}——日志输出者的名字 # %msg——日志消息 # %n——平台的换行符 logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
- 结果
- 配置
- logging.file=/path/to/logname 指定输出到具体路径,文件名为logname
-
个性化配置
- 推荐使用带 -spring 后缀,可使用 springProfile 标签指定生效的环境,具体用法参考 官方文档 26.6.1
- 推荐使用带 -spring 后缀,可使用 springProfile 标签指定生效的环境,具体用法参考 官方文档 26.6.1