gpt4 book ai didi

java - 使用 ConsoleAppender 不会使用 Logback 打印日志

转载 作者:行者123 更新时间:2023-12-02 03:24:33 24 4
gpt4 key购买 nike

我编写了一个简单的程序,其中使用了Logback。我的目的是使用 ASYNS,它在内部将使用 STDOUT。

这是 Java 代码 list :

package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogBackMainApp {

private static final Logger LOGGER =
LoggerFactory.getLogger(LogBackMainApp.class);

public static void main(String[] args) throws InterruptedException {
LOGGER.info("Hello world");
LOGGER.info("Hello world again");
Thread.sleep(5000);
}
}

以下是配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" >
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- %d{yyyy-MM-dd HH:mm:ss.SSS} %thread %-5level %logger{0}:%L
If you required class name ,enable %logger{0}:%L -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %thread %-5level - %msg
%n</pattern>
</encoder>
</appender>
<appender name="ASYNC-STDOUT" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>1</queueSize>
<discardingThreshold>20</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="STDOUT" />
</appender>
<root level="INFO">
<appender-ref ref="ASYNC-STDOUT" />
</root>

我正在定义 root 记录器,它将满足我的 com.example 包的需求,它引用 ASYNC-STDOUT,它在内部使用ch.qos.logback.core.ConsoleAppender

根据我目前的理解,它应该能够登录到控制台。然而,什么也没有发生。我的代码或配置是否有问题,或者我是否完全无法理解这个概念。

最佳答案

如果你使用maven看看:Dependency management for SLF4J and Logback 。也许您缺少所需的依赖项。 Sl4j 只是您真正的记录器实现的抽象,必须作为依赖项添加。

关于java - 使用 ConsoleAppender 不会使用 Logback 打印日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56913233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com