简体   繁体   English

是否可以在DEBUG级别登录到文件,在INFO级别登录到控制台,以进行回滚?

[英]Is it possible to log at DEBUG level to file and INFO level to console in logback?

I tried the following logback-test.xml 我尝试了以下logback-test.xml

<configuration>
    <root level="INFO">
        <appender class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{ISO8601} | %-5level | %thread | %logger{1} | %m%n</pattern>
            </encoder>
        </appender>
    </root>
    <root level="DEBUG">
        <appender class="ch.qos.logback.core.FileAppender">
            <file>logs/integration.log</file>
            <encoder>
                <pattern>%d{ISO8601} | %-5level | %thread | %logger{1} | %m%n</pattern>
            </encoder>
        </appender>
    </root>
</configuration>

but console is still at DEBUG level. 但控制台仍处于DEBUG级别。 Does anyone know what I am doing wrong? 有人知道我在做什么错吗?

you should consider using LevelFilter. 您应该考虑使用LevelFilter。 So you set root level as debug and then apply level filter for your appenders. 因此,您将根级别设置为调试,然后对附加程序应用级别过滤器。 Here is an example configuration: 这是一个示例配置:

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <file>myFile.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>myFile.%i.log.zip</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>3</maxIndex>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>10 MB</maxFileSize>
        </triggeringPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d{ISO8601} [%t] %-5p %c{0} - %m%n</Pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="FILE" />
        <appender-ref ref="STDOUT" />
    </root>

</configuration> 

Read more in this article: https://amitstechblog.wordpress.com/2014/09/27/logging-different-log-levels-to-different-appenders-with-logback/ 在本文中阅读更多内容: https : //amitstechblog.wordpress.com/2014/09/27/logging-different-log-levels-to-different-appenders-with-logback/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM