首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ConsoleAppender不使用Logback打印日志

使用ConsoleAppender不使用Logback打印日志
EN

Stack Overflow用户
提问于 2019-07-06 10:30:05
回答 1查看 147关注 0票数 0

我编写了一个使用Logback的简单程序。我的意图是使用ASYNS,内部将使用STDOUT。

这里是Java代码清单:

代码语言:javascript
复制
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);
   }
}

下面是配置文件:

代码语言:javascript
复制
<?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包的需要,它指的是内部使用ch.qos.logback.core.ConsoleAppenderASYNC-STDOUT

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

EN

回答 1

Stack Overflow用户

发布于 2019-07-06 11:59:01

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56913233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档