spring boot整合slf4j-log日志

素颜马尾好姑娘i 2022-06-12 11:39 315阅读 0赞

又过了一天,研究spring boot的学习还得继续,今天说点啥呢?spring boot整合slf4j-log日志,不得不吐槽spring boot按照它默认的方式太难控制了,或许这也是他的敏捷之处(不要自定义,按我的做就行),可是我不喜欢.好了,说事

spring boot的对于一些自定义的配置,一般都会提供application.properties和自定义xml文件的配置,log也不例外,

我们先看看pom.xml中的配置吧!如果之前有添加

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter</artifactId>
  4. </dependency>

这里可以不同添加了,因为里面已经包含

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-logging</artifactId>
  4. </dependency>

没有的就加上吧!二选一皆可!

接下来我们先看看application.properties方式的配置吧,

  1. #日志相关配置
  2. logging.level.root=INFO
  3. logging.level.org.springframework.web=DEBUG
  4. logging.level.org.hibernate=ERROR
  5. logging.path=/home/_xyy_/output/SpringBootDemo/logs/
  6. #logging.file=/home/_xyy_/output/SpringBootDemo/logs/stdout.log

讲解:logging.level.root相当于以往spring配置log4j.xml中的root级别

logging.org.springFramework.web具体服务的日志级别

logging.path:日志的输出路径

logging.file:输出的日志文件

注:

1:logging.path和logging.file不可以同时配置,同时配置也只有logging.file起效

2:配置logging.path将会在指定文件夹下面生成spring.log文件,文件名字无法控制

3:配置logging.file,如果只是文件名如:demo.log只会在项目的根目录下生成指定文件名的日志文件,,如果想控制日志路径,可以选择完整路径

:E:\\demo\\demo.log

接下来看看自定义配置文件,这个就要方便很多了,还是喜欢自定义配置文件的方式

在src/main/resources下面新建文件logback.xml这个也是spring boot默认的配置文件名,

如果需要自定义文件名,如:logback-test.xml需要在application.properties添加配置

  1. logging.config=classpath:logback-test.xml

spring boot默认载入的相关配置文件,详见jar包;spring-boot-1.*.*.RELEASE.jar下面

org/springframework/boot/logging/logback/

详细文件:

base.xml //基础包,引用了下面所有的配置文件

console-appender.xml //控制台输出配置

defaults.xml //默认的日志文件配置

file-appender.xml //文件输出配置

logback.xml详细代码:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  4. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  5. <encoder>
  6. <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
  7. <charset>UTF-8</charset>
  8. </encoder>
  9. </appender>
  10. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  11. <file>/home/_xyy_/output/SpringBootDemo/logs/stdout.log</file>
  12. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  13. <!-- daily rollover 保存历史记录到这个文件夹一日起为后缀 -->
  14. <fileNamePattern>/home/_xyy_/output/SpringBootDemo/logs/stdout.log.%d{yyyy-MM-dd}.log</fileNamePattern>
  15. <!-- keep 30 days' worth of history -->
  16. <maxHistory>30</maxHistory>
  17. </rollingPolicy>
  18. <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  19. <maxFileSize>10MB</maxFileSize>
  20. </triggeringPolicy>
  21. <encoder>
  22. <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
  23. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  24. </encoder>
  25. </appender>
  26. <root level="INFO">
  27. <appender-ref ref="CONSOLE"></appender-ref>
  28. <appender-ref ref="FILE"></appender-ref>
  29. </root>
  30. </configuration>

对spring整合slf4j的同学应该不会陌生吧….讲的有点粗糙,反正我不喜欢用,一路走来,大坑小坑无数.自己记录下,有需要完善的地方还希望大伙留言提出!

第七节:spring boot整合druid以及druid监控

发表评论

表情:
评论列表 (有 0 条评论,315人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Spring Boot整合

    市面上常见的日志框架有很多,它们可以被分为两类日志门面(日志抽象层)和日志实现通常情况下,日志由一个日志门面与一个日志实现组合搭建而成,SpringBoot选用SLF4J...