Logback日志级别

了解如何控制Logback输出的日志级别

Logback日志级别

日志级别指的是日志信息的类型,日志都会分级别,常见的日志级别如下(级别由低到高):

日志级别 说明 记录方式
trace 追踪,记录程序运行轨迹 【使用很少】 log.trace("…")
debug 调试,记录程序调试过程中的信息,实际应用中一般将其视为最低级别 【使用较多】 log.debug("…")
info 记录一般信息,描述程序运行的关键事件,如:网络连接、io操作 【使用较多】 log.info("…")
warn 警告信息,记录潜在有害的情况 【使用较多】 log.warn("…")
error 错误信息 【使用较多】 log.error("…")

可以在配置文件logback.xml中,控制输出哪些类型的日志

1
2
3
4
5
<!-- 日志输出级别 -->
<root level="INFO">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
</root>

如上述代码,此时只会输出大于等于info级别的日志

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@Slf4j
public class LogTest {

    // private static final Logger log = LoggerFactory.getLogger(LogTest.class);

    @Test
    public void testLog(){
        log.debug("开始计算...");

        int sum = 0;
        int[] nums = {1, 5, 3, 2, 1, 4, 5, 4, 6, 7, 4, 34, 2, 23};
        for (int num : nums) {
            sum += num;
        }

        log.info("计算结果为: {}", sum);  // {}为占位符
        log.debug("结束计算...");

        log.trace("trace .....");
        log.warn("warn ......");
        log.error("error .....");
    }

}

// 在上述配置情况下,输出结果如下
// 2025-09-02 22:19:50.974 [main] INFO  com.itheima.LogTest - 计算结果为: 101
// 2025-09-02 22:19:50.980 [main] WARN  com.itheima.LogTest - warn ......
// 2025-09-02 22:19:50.980 [main] ERROR com.itheima.LogTest - error .....

备注:如果有Lombok,可以直接在类前面加上@Slf4j,此时就可以省略private static final Logger log = LoggerFactory.getLogger(LogTest.class);

本站于2025年3月26日建立
使用 Hugo 构建
主题 StackJimmy 设计