[关闭]
@nextleaf 2018-08-01T09:56:25.000000Z 字数 2499 阅读 7018

SpringBoot使用slf4j日志输出配置

SpringBoot slf4j 日志 配置


  1. logback.xml配置文件解析
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
  4. <property name="LOG_PATTERN"
  5. value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
  6. <!-- 定义日志存储的路径,不要配置相对路径 -->
  7. <property name="FILE_PATH"
  8. value="D:/logs/demo3/demo.%d{yyyy-MM-dd}.%i.log" />
  9. <!-- 控制台输出日志 -->
  10. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  11. <encoder>
  12. <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
  13. <pattern>${LOG_PATTERN}</pattern>
  14. </encoder>
  15. </appender>
  16. <!--每天生成一个日志文件,保存15天的日志文件。rollingFile是用来切分文件的 -->
  17. <appender name="rollingFile"
  18. class="ch.qos.logback.core.rolling.RollingFileAppender">
  19. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  20. <fileNamePattern>
  21. ${FILE_PATH}
  22. </fileNamePattern>
  23. <!-- keep 15 days' worth of history -->
  24. <maxHistory>15</maxHistory>
  25. <timeBasedFileNamingAndTriggeringPolicy
  26. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  27. <!-- 日志文件的最大大小 -->
  28. <maxFileSize>10MB</maxFileSize>
  29. </timeBasedFileNamingAndTriggeringPolicy>
  30. </rollingPolicy>
  31. <encoder>
  32. <pattern>${LOG_PATTERN}</pattern>
  33. </encoder>
  34. </appender>
  35. <!-- project default level -->
  36. <logger name="com.itcodai.demo3" level="INFO" />
  37. <!-- 日志输出级别 -->
  38. <root level="INFO">
  39. <appender-ref ref="console" />
  40. <appender-ref ref="rollingFile" />
  41. </root>
  42. </configuration>

如上,已经详细做了注释,logback.xml文件中主要是用来配置日志文件的输出格式,输出路径,保存时间,日志文件大小,以及日志的输出级别。默认的是INFO级别,我们也可以设置DEBUG,ERROR级别,看具体需要。一般项目部署到生产环境后,换成ERROR级别,在开发的时候一般设置成INFO级别即可。把这个logback.xml放到根目录下。
2. application.yml配置文件

  1. server:
  2. port: 8009
  3. logging:
  4. config: logback.xml
  5. level:
  6. com:
  7. nextleaf:
  8. course01:
  9. dao: trace

或application.properties

  1. logging.config=logback.xml
  2. logging.level.com.nextleaf.course01.dao=trace

配置文件很简单,主要是指定一下使用的哪个日志配置文件,如上:指定的日志配置文件是根路径下的logback.xml文件。logging.level用来指示Mapper中的日志输出级别为trace,是为了打印出具体的sql,方便定位问题,部署到生产环境时,也将这个级别改成error即可。

  1. 代码中使用Logger来打印信息
    在代码中,我们一般使用Logger对象来打印出一些log信息,可以指定打印出的日志级别,也支持占位符,很方便。
  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. @RestController
  6. public class TestController {
  7. private final static Logger logger = LoggerFactory.getLogger(TestController.class);
  8. @RequestMapping("/testLog")
  9. public String testLog() {
  10. logger.debug("=====测试日志debug级别打印====\n");
  11. logger.info("======测试日志info级别打印=====\n");
  12. logger.error("=====测试日志error级别打印====\n");
  13. // 可以使用占位符打印出一些参数信息
  14. String str = "blog.itcodai.com";
  15. logger.info("======欢迎访问倪升武的博客:{}\n", str);
  16. return null;
  17. }
  18. }

SpringBoot中的slf4j日志配置就大概介绍这么多,已经足够用了,在项目中使用的很频繁

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注