Logback日志使用

一、jar包下载

  1. The Simple Logging Facade for Java (SLF4J) 包下载

地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api

  1. Logback下载

a、logback-core下载

地址:https://repo1.maven.org/maven2/ch/qos/logback/logback-core

b、logback-classic下载

地址:https://repo1.maven.org/maven2/ch/qos/logback/logback-classic/

如果你因为某些原因无法下载文件,可以访问已经下载好文件:

链接: https://pan.baidu.com/s/11ZDyxgitLf_vqDSDmSZQfw?pwd=3deb 提取码: 3deb

二、添加了项目引用

  1. 将三个jar包复制到项目中

  1. 右键-》添加为库

三、配置文件

在src中创建logback.xml文件,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--
        CONSOLE :表示当前的日志信息是可以输出到控制台的。
    -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!--输出流对象 默认 System.out 改为 System.err-->
        <target>System.out</target>
        <encoder>
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度
                %msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level]  %c [%thread] : %msg%n</pattern>
        </encoder>
    </appender>

    <!-- File是输出的方向通向文件的 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
        <!--日志输出路径-->
        <file>data.log</file>
        <!--指定日志文件拆分和压缩规则-->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--通过指定压缩文件名称,来确定分割文件方式-->
            <fileNamePattern>data-%d{yyyy-MM-dd}.log%i.gz</fileNamePattern>
            <!--文件拆分大小-->
            <maxFileSize>1MB</maxFileSize>
        </rollingPolicy>
    </appender>

    <!--
    level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR    |    ALL 和 OFF
   , 默认debug
    <root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
    -->
    <root level="ALL">
        <!-- 注意:如果这里不配置关联打印位置,该位置将不会记录日志-->
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

四、示例代码

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
    public static final Logger LOGGER = LoggerFactory.getLogger("Main.class");

    public static void main(String[] args) {
        LOGGER.debug("我开始记录Debug日志");
        LOGGER.info("我开始记录Info日志");
        System.out.println("Hello,world!");
        LOGGER.trace("Trace Test...");
        LOGGER.error("错误 Test...");
    }
}

运行结果:

2023-03-14 16:00:18.314 [DEBUG]  Main.class [main] : 我开始记录Debug日志
2023-03-14 16:00:18.318 [INFO ]  Main.class [main] : 我开始记录Info日志
Hello,world!
2023-03-14 16:00:18.319 [TRACE]  Main.class [main] : Trace Test...
2023-03-14 16:00:18.319 [ERROR]  Main.class [main] : 错误 Test...

版权声明:本文为shuikanshui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。