Java日志框架(SLF4J+logback/log4j2)

柔光的暖阳◎ 2023-10-07 21:10 271阅读 0赞

一、日志门面和日志框架

  1. 日志门面技术:JCL,SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架。

  2. 日志框架技术:JUL,log4j,log4j2,logback主要是为了有效的记录日志信息。

二、SLF4J的使用

简单日志门面(Simple logging Facade For Java) SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架。主要意义在于提供接口,具体的实现可以交由其他日志框架。例如log4j和logback等。当然slf4j自己也提供了功能较为简单的实现,但是一般很少用到。对于一般的java项目而言。日志框架会选择slf4j-api作为门面,配上具体的实现框架(log4j,logback等),中间使用桥接器完成桥接。

三、logback日志框架

  1. springboot默认的日志框架是logback+slf4j

  2. logback配置文件logback.xml

    <?xml version=”1.0” encoding=”UTF-8”?>

    1. <contextName>logback</contextName>
    2. <property name="log.path" value="F:\\logback.log" />
  1. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  2. <!-- <filter class="com.example.logback.filter.MyFilter" /> -->
  3. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  4. <level>ERROR</level>
  5. </filter>
  6. <encoder>
  7. <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
  8. </pattern>
  9. </encoder>
  10. </appender>
  11. <!-- 日志文件输出的appender-->
  12. <appender name="file"
  13. class="ch.qos.logback.core.rolling.RollingFileAppender">
  14. <file>${log.path}</file>
  15. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  16. <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
  17. </rollingPolicy>
  18. <encoder>
  19. <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
  20. </pattern>
  21. </encoder>
  22. </appender>
  23. <root level="debug">
  24. <appender-ref ref="console" />
  25. <appender-ref ref="file" />
  26. </root>
  27. <logger name="com.example.logback" level="warn" />
  28. </configuration>
  1. logback组件之间的关系

1)Logger:日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别

2)Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、数据库等等。

3)Layout:负责吧事件转化成字符串,格式化的日志信息的输出。在logback中Layout对象被封装在encoder中。

发表评论

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

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

相关阅读

    相关 日志-slf4j

    引入门面日志,处理流程:门面日志api-》适配器转发-》实际日志框架处理-》日志文件 常用日志框架:logback、log4j2、log4j、 常用门面日志框架:slf4

    相关 SLF4J日志框架

    SLF4J日志框架 概述 日志框架对于java开发者来说并不陌生,并且其作为线上产品分析bug的有力工具。 Java的简单日志门面( Simple