• logback基本使用


    logback基本使用

    参考

    Java日志框架:logback详解

    # logback官网
    http://logback.qos.ch/manual/index.html
    

    使用步骤

    • 构建logback环境,logback-classic依赖,配置文件 logback-test.xml,logback.groovy,logback.xml

    • 获取 org.slf4j.Logger 实例,通过 org.slf4j.LoggerFactory 的静态方法getLogger()

    • 调用logger的打印方法记录日志。这些日志会被记录到配置的 apperders 中。

    Appender

    Appender 是日志的输出目的地。可以是控制台,文件,tcp套接字,jms等。

    入门

    http://logback.qos.ch/manual/introduction.html
    

    引入依赖

    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic 
    logback-classic.jar依赖于slf4j-api.jar和logback-core.jar,maven会自动导入这2个传递依赖。
    -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>
    

    默认配置

    如果类加载路径中没有找到logback配置文件,ConsoleAppender 将会被添加到 root 日志记录器中。

    就日志记录而言,代码中只需要导入SLF4J类。

    package com.mozq.logback02.demo;
    
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class Demo1 {
    
        public static void main(String[] args) {
            Logger log = LoggerFactory.getLogger("com.mozq.logback02.demo.Demo1");
            Logger log2 = LoggerFactory.getLogger(Demo1.class);
            log.debug("这是测试信息");
            log2.debug("这是测试信息2");
        }
    }
    /*
    运行结果:
    12:20:02.439 [main] DEBUG com.mozq.logback02.demo.Demo1 - 这是测试信息
    12:20:02.442 [main] DEBUG com.mozq.logback02.demo.Demo1 - 这是测试信息2
    */
    

    使用lombok简化

    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.20</version>
        <scope>provided</scope>
    </dependency>
    
    package com.mozq.logback02.demo;
    
    import lombok.extern.slf4j.Slf4j;
    //需要idea安装lombok插件
    @Slf4j
    public class Demo3 {
        public static void main(String[] args) {
            log.debug("这是测试信息");
        }
    }
    /*
    12:22:39.311 [main] DEBUG com.mozq.logback02.demo.Demo3 - 这是测试信息
    */
    

    logback内部状态信息

    logback内置的状态系统可以报告logback的内部状态信息。StatusManager可以访问logback生命周期中的事件。可以调用StatusPrinter 的静态方法print()打印logback的内部状态。

    package com.mozq.logback02.demo;
    
    import ch.qos.logback.classic.LoggerContext;
    import ch.qos.logback.core.util.StatusPrinter;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class Demo2 {
        public static void main(String[] args) {
            LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
            StatusPrinter.print(loggerContext);
            Logger log = LoggerFactory.getLogger("com.mozq.logback02.demo.Demo1");
            log.debug("测试logback内部信息");
        }
    }
    /*
    12:31:45,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
    12:31:45,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
    12:31:45,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
    12:31:45,450 |-INFO in ch.qos.logback.classic.BasicConfigurator@49993335 - Setting up default configuration.
    
    12:31:45.497 [main] DEBUG com.mozq.logback02.demo.Demo1 - 测试logback内部信息
    */
    

    logback加载

    依次查找类路径下:logback-test.xml,logback.groovy,logback.xml 。

    都没有找到则构建一个默认的ConsoleAppender 向控制台输出日志。

  • 相关阅读:
    常见业务指标
    1006 换个格式输出整数 (Python)
    1004 成绩排名 (Python)
    1003 我要通过! (Python)
    1008 数组元素循环右移问题 (Python)
    如何使用SSH秘钥链接Github
    在windows下如何正确安装curses模块
    面向数据结构C基础知识点(个人向)
    用Python实现链式调用
    python重点串讲
  • 原文地址:https://www.cnblogs.com/mozq/p/11917409.html
Copyright © 2020-2023  润新知