logback根本不记录到控制台

时间:2016-04-28 15:14:32

标签: java logging logback apache-storm

我无法使用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();

我的风暴拓扑结构正在100%

2 个答案:

答案 0 :(得分:1)

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

模式标签也应该包含在编码器标签中,而不是布局标签:

<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

答案 1 :(得分:-1)

注意: 如果您将LogBack与Gradle(构建工具)一起使用,则此答案适用。如果您已将LogBack日志级别设置为DEBUG,则可以继续检查Gradle日志级别。

问题: Gradle中的默认日志级别为LIFECYCLE,它仅显示进度信息

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

gradlew clean build --info

gradlew clean build --debug