Springboot —— Logback日志配置

本是古典 何须时尚 2022-01-13 03:31 680阅读 0赞

什么是Logback?

Logback 继承自 log4j。

Logback 的架构非常的通用,适用不同的使用场景。Logback 被分成三个不同的模块:logback-core,logback-classic,logback-access。

logback-core 是其它两个模块的基础。logback-classic 模块可以看作是 log4j 的一个优化版本,它天然的支持 SLF4J,所以你可以随意的从其它日志框架(例如:log4j 或者 java.util.logging)切回到 logack。

logback-access 可以与 Servlet 容器进行整合,例如:Tomcat、Jetty。它提供了 http 访问日志的功能。

logback一共有5个日志等级:DEBUG < INFO < WARN < ERROR < FATAL

DEBUG:是等级最低,打印系统运行时更详细的日志信息。
INFO:用来反馈系统的当前状态给最终用户的。
WARN:指的是有潜在错误,但未发生错误。
ERROR:的是出现错误事件,但系统仍然能够运行。
FATAL:是最严重的错误时间,系统被终止运行。

开始配置

在了解logback的相关背景后,就能开始配置了,我这里用的是springboot来进行配置:

pom.xml引入依赖包:

  1. <!-- 日志 -->
  2. <dependency>
  3. <groupId>ch.qos.logback</groupId>
  4. <artifactId>logback-classic</artifactId>
  5. <version>1.2.3</version>
  6. </dependency>

文件目录
在这里插入图片描述
application-dev.properties配置 :

  1. #logback所在路径
  2. logging.config=classpath:logback/logback-spring-dev.xml
  3. # 配置logging.level.*来具体输出包的日志级别
  4. logging.level.root=INFO
  5. logging.level.com.xzm.bigdata.mapper=DEBUG

基本需要的都配置好了,接下来我们就logback-spring-dev.xml来对日志信息的配置:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Default logback configuration provided for import, equivalent to the programmatic initialization performed by Boot -->
  3. <configuration debug="false">
  4. <!-- 定义日志存储地方 -->
  5. <property name="LOG_HOME" value="logs" />
  6. <!-- 控制台输出 -->
  7. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  8. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  9. <!-- 格式化输出: %d表示日期, %thread表示线程名称, %-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
  10. <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger[50] - %msg%n</pattern>
  11. </encoder>
  12. </appender>
  13. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  14. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  15. <!-- 日志输出文件名 -->
  16. <FileNamePattern>${LOG_HOME}/server-log_%d{yyyy-MM-dd}.log</FileNamePattern>
  17. <!-- 日志保留天数 -->
  18. <MaxHistory>30</MaxHistory>
  19. </rollingPolicy>
  20. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  21. <!-- 格式化输出: %d表示日期, %thread表示线程名称, %-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
  22. <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger[50] - %msg%n</pattern>
  23. </encoder>
  24. <!--日志文件最大的大小-->
  25. <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  26. <MaxFileSize>10MB</MaxFileSize>
  27. </triggeringPolicy>
  28. </appender>
  29. <logger name="jdbc.sqltiming" level="debug"/>
  30. <logger name="com.ibatis" level="debug" />
  31. <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="debug" />
  32. <logger name="com.ibatis.common.jdbc.ScriptRunner" level="debug" />
  33. <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="debug" />
  34. <logger name="java.sql.Connection" level="debug" />
  35. <logger name="java.sql.Statement" level="debug" />
  36. <logger name="java.sql.PreparedStatement" level="debug" />
  37. <logger name="java.sql.ResultSet" level="debug" />
  38. <logger name="org.springframework.web" level="WARN"/>
  39. <logger name="org.springframework.jdbc" level="WARN"/>
  40. <logger name="org.apache.shiro" level="WARN"/>
  41. <logger name="com.lew.jlight" level="INFO"/>
  42. <!-- root -->
  43. <root level="INFO">
  44. <appender-ref ref="STDOUT" />
  45. <appender-ref ref="FILE" />
  46. </root>
  47. </configuration>

配置完成,接下来我们尝试运行项目,测试下是否配置成功。

测试

在这里插入图片描述
可以看到格式和我们在logback-dev.xml配置的信息一样,则配置成功。

结尾

logback的功能不止这么点,还有日志字体颜色的改变这些功能,详情的大家可以去查阅下资料。

参考资料:https://www.cnblogs.com/lixuwu/p/5804793.html

发表评论

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

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

相关阅读