logback根本不记录到控制台

3

我无法使用logback登录控制台,当我运行应用程序时没有任何内容显示。

这是我的logback文件内容:

<?xml version="1.0" encoding="UTF-8"?>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} -
            %msg%n
        </Pattern>
    </layout>
</appender>



<root level="error">
    <appender-ref ref="STDOUT" />
</root>
<root level="DEBUG">
    <appender-ref ref="STDOUT" />
</root>

例如,我无法获得“开始调试”消息。
logger.debug("Starting debugging");

        ConnectorTopology ConnectorTopology= new ConnectorTopology();

我的Storm拓扑结构已经完美运行,达到了100%的效率。

2个回答

1

您不应该使用多个根元素。请删除其中一个,并将剩下的一个设置为DEBUG级别。

另外,pattern标签应该被包含在encoder标签中,而不是layout标签中:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
  </encoder>
</appender>

更多详情请查看手册:http://logback.qos.ch/manual/appenders.html#ConsoleAppender


谢谢,但不起作用,当我尝试登录文件时,请参阅http://stackoverflow.com/questions/17480729/logback-does-not-write-log-into-the-file-but-console - h.zak
抱歉:Logback未创建日志文件。 - h.zak
8
你解决了这个问题吗?我在Eclipse中遇到了同样的问题。 - mad_fox

0

注意:本答案适用于使用Gradle(构建工具)和LogBack的情况。如果您已将LogBack日志级别设置为DEBUG,则可以继续检查Gradle日志级别。

问题:Gradle的默认日志级别是LIFECYCLE,仅打印进度信息。

解决方案:请将日志级别更改为打印更多日志。当您使用任何构建工具(如Gradle)运行应用程序时,请使用

gradlew clean build --info

或者

gradlew clean build --debug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接