logback学习

1. 什么是logback

Logback是作为流行的log4j项目的继承者,继承log4j遗留下来的地方。它的体系结构非常通用,可以适用于不同的环境。目前logback分为logback-core、logback-classic和logback-access三个模块。其中,Logback-core模块为其他两个模块奠定了基础。logback-classic是log4j的一个改进版本。而且,logback-classic完整的实现了SLF4J API,这样我们可以很方便的切换日志打印系统,如log4j,jdk logging等。logback官网

2. logback组成

  1. logback与log4j,log4j2类似,可分为Logger、appender及layout三个部分;
    Logger:日志的记录器,把它关联到应用的对应的context上后,可用于存放日志对象,也可定义日志类型、级别。
    Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、数据库、 JMS和远程UNIX Syslog守护进程等。
    Layout: 负责把日志事件转换成字符串,格式化的日志信息的输出。
  2. 每个 logger 都是一个单例,调用 LoggerFactory.getLogger 方法时,如果传入的 logger name 相同,获取到的 logger 是同一个实例。
  3. Appender 是绑定在 logger 上的,同时,一个 logger 可以绑定多个 Appender,一条信息可同时打印到不同的目的地。
  4. logger 有继承关系,因此一个 logger 打印信息时的 Appender 需要参考它的父亲和祖先。在 logback 中,默认情况下,如果一个 logger 打印一条信息,那么这条信息首先会打印至它自己的 Appender,然后打印至它的父亲和父亲以上的祖先的 Appender。
  5. Logger 可以被分配级别,若 logger没有被分配级别,那么它将从有被分配级别的最近的祖先那里继承级别。root logger 默认级别是 DEBUG。
  6. 日志打印级别: TRACE < DEBUG < INFO < WARN < ERROR。

3. logback配置

logback总结-很全面

  1. maven依赖
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.0.11</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.0.11</version>
        </dependency>
  1. logback配置方式
    Ⅰ. xml配置
    Ⅱ. groovy格式配置
    Ⅲ. 编程式配置
  2. logback启动中获取配置的顺序:
    3.1 在 classpath 中寻找 logback-test.xml文件
    3.2 如果找不到 logback-test.xml,则在 classpath 中寻找 logback.groovy 文件
    3.3 如果找不到 logback.groovy,则在 classpath 中寻找 logback.xml文件
    如果上述的文件都找不到,则 logback 会使用 JDK 的 SPI 机制查找 META-INF/services/ch.qos.logback.classic.spi.Configurator 中的 logback 配置实现类,这个实现类必须实现 Configuration 接口,使用它的实现来进行配置
    3.4 如果上述操作都不成功,logback 就会使用它自带的 BasicConfigurator 来配置,并将日志输出到 console
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值