【问题标题】:How to have different logging for different packages?如何对不同的包进行不同的日志记录?
【发布时间】:2013-03-28 21:06:43
【问题描述】:

在 Log4j 中,很容易在应用程序中以不同级别记录不同的包(这对于调试特别有用)。除了创建自己的过滤器之外,还有其他简单的方法吗?

我尝试在根标签中创建一个标签,或者在其名称之后创建一个标签(即让人想起 Log4J),然后将它的附加程序放置在其中,但是它不起作用。

那么,对于某些不需要自定义过滤器实现的包,是否有内置的 LogBack 方法来定义记录器和/或记录级别?

【问题讨论】:

    标签: java logging logback


    【解决方案1】:

    我正在使用 Play! Web 应用程序,并且针对不同的包具有不同的日志级别。可以指定包名<logger> element

    我的配置是:

    <configuration>
    
        <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel"/>
    
        <appender name="FILE" class="ch.qos.logback.core.FileAppender">
            <file>${application.home}/logs/application.log</file>
            <encoder>
                <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
            </encoder>
        </appender>
        <appender name="TIMESTAMP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    
            <file>${application.home}/logs/batches/current.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy" maxHistory="720">
                <fileNamePattern>${application.home}/logs/batches/archived/%d{yyyy/MM/dd}.gz</fileNamePattern>
            </rollingPolicy>
            <encoder>
                <pattern>{mpoplib} %date - [%level] in %thread %n%message%n%xException%n</pattern>
            </encoder>
        </appender>
    
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
            </encoder>
        </appender>
    
        <logger name="play" level="INFO">
            <appender-ref ref="FILE"/>
        </logger>
        <logger name="application" level="INFO">
            <appender-ref ref="FILE"/>
        </logger>
        <logger name="ru.kupikupon.mpoplib" level="DEBUG">
            <appender-ref ref="TIMESTAMP_FILE"/>
        </logger>
    
    
        <root level="DEBUG">
            <appender-ref ref="STDOUT"/>
        </root>
    
    </configuration>
    

    【讨论】:

    • 啊哈!我没有任何&lt;logger&gt; 元素。我试图创建 &lt;ru.kupikupon.mpoplib&gt; 元素。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    相关资源
    最近更新 更多