Logback将不同的消息logging到两个文件

我正在使用logback / slf4j来做我的日志logging。 我想parsing我的日志文件来分析一些数据,所以我不想分析一个伟大的大文件(主要是由debugging语句组成),我想有两个logging器实例,每个logging器实例都logging到一个单独的文件; 一个用于分析,另一个用于所有用途的日志logging。 有谁知道这是可能的与Logback,或任何其他logging器呢?

在logback中这样做是很有可能的。 这是一个示例configuration:

<?xml version="1.0"?> <configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>logfile.log</file> <append>true</append> <encoder> <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> </encoder> </appender> <appender name="ANALYTICS-FILE" class="ch.qos.logback.core.FileAppender"> <file>analytics.log</file> <append>true</append> <encoder> <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> </encoder> </appender> <!-- additivity=false ensures analytics data only goes to the analytics log --> <logger name="analytics" level="DEBUG" additivity="false"> <appender-ref ref="ANALYTICS-FILE"/> </logger> <root> <appender-ref ref="FILE"/> </root> </configuration> 

然后,您将设置两个独立的logging器,一个用于logging分析数据,另一个用于logging分析数据,如下所示:

 Logger analytics = LoggerFactory.getLogger("analytics");