3
在Log4j中,很容易在應用程序中以不同的級別記錄不同的包(這對調試特別有用)。除了創建自己的過濾器之外,還有一種簡單的方法嗎?如何針對不同的包進行不同的日誌記錄?
我試圖在根標籤內創建一個標籤,或者在包名後面(即讓人聯想到Log4J)創建一個標籤,然後在其中放置appender,但它不起作用。
那麼,是否有內置LogBack方法來定義某些不需要自定義過濾器實現的軟件包的記錄器和/或日誌記錄級別?
在Log4j中,很容易在應用程序中以不同的級別記錄不同的包(這對調試特別有用)。除了創建自己的過濾器之外,還有一種簡單的方法嗎?如何針對不同的包進行不同的日誌記錄?
我試圖在根標籤內創建一個標籤,或者在包名後面(即讓人聯想到Log4J)創建一個標籤,然後在其中放置appender,但它不起作用。
那麼,是否有內置LogBack方法來定義某些不需要自定義過濾器實現的軟件包的記錄器和/或日誌記錄級別?
我正在使用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>
啊哈!我沒有任何''元素。我正在嘗試創建''元素。謝謝! –
ArtB