Logback无法在控制台中写入

时间:2017-08-04 08:40:35

标签: java spring-mvc logging spring-boot logback

我在Spring启动应用程序中使用Logback。

问题是logback不会在eclipse'中打印我的记录器消息我的两个包 dao web

的控制台

日志文件写得没有任何问题,并打印我的记录器消息。

我是根,所以我应该在控制台中看到我的记录器消息。

  • logger.info(" Page X INFO");
  • logger.debug(" Page X Debug");

这是我的 logback.xml 文件:

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

    <!-- Send debug messages to System.out -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Send debug messages to a file at "C:/logs/Log.log" -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>C:/logs/Log.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <FileNamePattern>C:/logs/Log.%i.log.zip</FileNamePattern>
            <MinIndex>1</MinIndex>
            <MaxIndex>10</MaxIndex>
        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <logger name="package.web" level="INFO" >
            <appender-ref ref="FILE" />
    </logger>
    <logger name="package.dao" level="DEBUG" >
            <appender-ref ref="FILE" />
    </logger>

    <!-- By default, the level of the root level is set to DEBUG -->
    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
         <appender-ref ref="FILE" />
    </root>
</configuration>

1 个答案:

答案 0 :(得分:2)

<logger name="package.web" level="INFO" >
        <appender-ref ref="FILE" />
</logger>

您需要添加控制台appender。

<logger name="package.web" level="INFO" >
        <appender-ref ref="FILE" />
        <appender-ref ref="STDOUT" />
</logger>

更新:我刚刚重读了logback配置doku。实际上,这两个应该从root继承两个appender。所以,你可以尝试的是不指定任何appender-ref,看看会发生什么。如果没有输出写入文件,那么,没有 - 那么有一些非常奇怪的东西。如果additivity标志设置为false,我会期待这种行为。但默认是appender积累。