zoukankan      html  css  js  c++  java
  • SLF4J 和 Logback 在 Maven 项目中的使用方法

    原文:http://blog.csdn.net/llmmll08/article/details/70217120

    本文介绍 SLF4J 和 Logback 在 Maven 项目中的用法,包括日志框架的依赖、使用,以及 XML 配置文件的引入。本文的精华内容翻译 Base22,文章来源见文末。

    1. 将框架 SLF4J & Logback 添加到 Maven 项目中。

    通过简单的几个步骤,即可将 SLF4J 和 Logback 添加到 Maven 项目中。

    1.1 将依赖添加到 Maven 的 POM.xml 中

    直接在 Maven Repository 中搜索 Logback, 选择使用量最大的「Logback Classic Module」, 将该依赖添加到 POM.xml 中,例如:

    <!-- 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>

    将会在项目中导入如下类库:

    • logback-classic.x.x.x.jar
    • logback-core.x.x.x.jar
    • slf4j-api-x.x.x.jar

    1.2 使用 XML 配置文件初始化

    将 XML 配置文件 logback.xml 和 logback-test.xml 按照以下层次结构添加到项目中:

    • src 
      • main 
        • resources 
          • logback.xml
      • test 
        • resources 
          • logback-test.xml

    其中,两配置文件的内容如下:

    logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
            </encoder>
        </appender>
    
        <logger name="com.base22" level="TRACE"/>
    
        <root level="debug">
            <appender-ref ref="STDOUT"/>
        </root>
    
    </configuration>

    logback-test.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
            </encoder>
        </appender>
    
        <root level="debug">
            <appender-ref ref="STDOUT"/>
        </root>
    
    </configuration>

    在 logback.xml 中可以看到,包 com.base22 的 level 是 TRACE, 通过设置 logger 节点,可以指定特定包的 level。

    除了特定包之外,项目的日志 level 均由 root 节点指定。

    2. Log 的基本使用

    使用 Log 时,需要在每个 class 文件中进行初始化操作。

    首先导入如下内容:

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    • 1
    • 2
    • 1
    • 2

    之后可使用如下语句引入 log :

    static final Logger logger = LoggerFactory.getLogger(MyClassName.class);
    • 1
    • 1

    其中 MyClassName 改为该类的类名。

    亦可在类的构造方法中使用如下语句初始化:

    Logger logger = LoggerFactory.getLogger(getClass());
    • 1
    • 1

    之后可在方法中调用如下语句进行 log 操作:

    logger.debug("debug");
    logger.info("info");
    • 1
    • 2
    • 1
    • 2

    3. 日志的级别 (level) 参考

    日志的级别 (level) 由低到高排列如下:

    • trace
    • debug
    • info
    • warn
    • error
  • 相关阅读:
    CF666E Forensic Examination 广义后缀自动机 + 线段树合并 + 树上倍增
    NOI2018 你的名字 后缀自动机 + 线段树合并 + 可持久化
    [NOI2018]你的名字(68pts) 后缀自动机
    [SDOI2016]生成魔咒 后缀自动机
    洛谷P3369 【模板】普通平衡树 01trie/骚操作
    BZOJ2161: 布娃娃 整体二分
    超市购物功能,会员卡功能,会员卡积分查询功能,会员卡奖品功能,自己练手函数程序
    可变长参数,函数的嵌套,名称空间,关键字
    函数基础,函数返回值,函数调用的3中方式,形参与实参
    文件的详细操作
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6903212.html
Copyright © 2011-2022 走看看