【问题标题】:Spring Boot logback.xml file has stopped standard loggingSpring Boot logback.xml 文件已停止标准日志记录
【发布时间】:2017-08-21 18:29:36
【问题描述】:

我有一个 Spring Boot 应用程序,它默认将所有输出记录到控制台。在我的项目中,我需要一些类需要将它们的输出记录到单独的日志文件中,以使记录和调试问题更容易。为此,我创建了以下 logback.xml 文件;

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

    <property name="LOGS_HOME" value="/tmp/sflogs/" />

    <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>

    <appender name="TUMBLR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOGS_HOME}tumblr.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} %-5level - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${LOGS_HOME}tumblr.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <appender name="SCHEDULER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOGS_HOME}scheduler.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} %-5level - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${LOGS_HOME}scheduler.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <logger name="com.supafanz.controllers.TaskController" level="info" additivity="false">
        <appender-ref ref="SCHEDULER_FILE" />
    </logger>

    <logger name="com.supafanz.parsers.TumblrParser" level="info" additivity="false">
        <appender-ref ref="TUMBLR_FILE" />
    </logger>

</configuration>

这工作正常,并且正在创建额外的日志文件,但是在应用此 Spring Boot 时不再输出它通常的输出到控制台。

有人能确认我如何使用 logback.xml 文件重新设置标准控制台日志吗?

【问题讨论】:

    标签: spring-boot


    【解决方案1】:

    你需要在某个地方运行 "STDOUT",就像运行 "SCHEDULER_FILE""TUMBLR_FILE"

    <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>
        <appender-ref ref="STDOUT" />
    </root>
    

    或附加到"SCHEDULER_FILE""TUMBLR_FILE"

    <logger name="com.supafanz.controllers.TaskController" level="info" additivity="false">
        <appender-ref ref="SCHEDULER_FILE" />
        <appender-ref ref="STDOUT" />
    </logger>
    
    <logger name="com.supafanz.parsers.TumblrParser" level="info" additivity="false">
        <appender-ref ref="TUMBLR_FILE" />
        <appender-ref ref="STDOUT" />
    </logger>
    

    【讨论】:

      猜你喜欢
      • 2020-02-21
      • 1970-01-01
      • 2017-12-26
      • 2017-11-01
      • 2017-11-09
      • 1970-01-01
      • 2015-08-14
      • 2019-06-18
      • 1970-01-01
      相关资源
      最近更新 更多