日志框架Logback

1. 常见的日志接口
  1. Commons Logging(Apache Commons Logging、Jakarta Commons Logging maven),简称jcl
  2. SLF4J
    这两个相当于是定义的接口,类似JDBC
2. 日志接口的具体实现
  1. log4j
  2. log4j2
  3. logback
  4. jdk自带的logging(简称jul)
3. 说明
  • 一般使用是需要接口+实现配合使用,可以自由选择组合方式
  • spring中使用的是jcl日志接口,如果直接从spring-core中排除jcl会报错,需要添加jcl-over-slf4j
  • xxx-over-yyy代表,把原来的xxx改成用yyy,jcl-over-slf4j就是代表spring本来用的jcl框架实现的日志,现把它改成用slf4j来实现
4. 在spring中使用SLF4J+Logback
  1. 排除spring-core中的jcl(实测不排除也能运行)
在这里插入代码片
  1. 添加依赖
<!-- Logback -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>1.2.3</version>
    </dependency>
    <dependency>
      <groupId>org.logback-extensions</groupId>
      <artifactId>logback-ext-spring</artifactId>
      <version>0.1.4</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>1.7.25</version>
    </dependency>
  1. 添加logback配置文件,命名为logback.xml(默认会读取),放到resource下
    这里的读取有个优先级logback.properties、logback-test.xml等等都可以读取到,具体的可以参考logback官网
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
        <!-- 日志输出编码 -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </layout>
    </appender>
     
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>testFile.log</file>
        <append>false</append>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
              
    </appender>
    <logger name="org.springframework" level="info" additivity="false">
        <appender-ref ref="STDOUT"/>
    </logger>
    <!-- 日志输出级别 -->
    <root level="warn">
        <appender-ref ref="STDOUT"/>
<!--        <appender-ref ref="FILE"/>-->
    </root>
</configuration>
5. logback.xml配置文件说明
5.1 配置文件主要分三大部分appender、logger、root
  • appender简单理解就是定义日志输出的位置、日志格式、编码、日志切割策略等,可以设置输出到控制台或者输出到文件
  • logger就是设置哪一个类文件、或者包中的类需要输出日志
  • root是一个特殊的logger,是所有logger的父亲
  • 如果在普通的logger中设置additivity=“true”,代表把普通logger的日志追加到其父logger中,造成的结果就是可能看到重复的日志。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值