2015-02-26 94 views
2

我们如何编写一个简单的log4j2.xml文件,并将不同级别的日志写入不同的文件?不同级别的日志在不同的日志文件中

例如,我们有错误日志我需要将所有错误日志消息推送到一个日志文件中,并将所有信息日志消息推送到另一个文件中。

我想在LoginController.log InfoController.log文件和错误消息,信息消息文件

我该怎么办呢?

+0

为何使用相同的名称为记录仪?尝试更改为 Ako

回答

6

最后通过这样做得到了答案我得到了不同文件中的日志。

<Loggers> 
    <logger name="com.mvc.login" level="info" additivity="false"> 
     <AppenderRef ref="LoginController" level="error"/> 
     <AppenderRef ref="InfoController" level="info"/> 
    </logger> 
    </Loggers> 
1

记录器必须具有唯一的名称。配置中的第二个记录器将替换第一个记录器,这就解释了为什么您没有看到第一个记录器引用的appender的输出。

通常情况下,一个配置有一个根记录器,它将接收所有事件。我会建议,以便配置的一部分变成:

<Loggers> 
    <logger name="com.mvc.login" level="error" additivity="false"> 
     <AppenderRef ref="LoginController"/> 
    </logger> 
    <root level="trace"> 
     <AppenderRef ref="InfoController"/> 
    </root> 
</Loggers> 
+0

每件事情都按预期工作thanq .... –

+0

如果我为记录器提供不同的名称我怎样才能得到同一类的记录?例如类名是com.mvc.login我如何给记录器提供不同的名称? –

+0

我编辑的问题,你可以请现在看看它? –

0
<Filters> 
    <ThresholdFilter level="warn" onMatch="DENY" onMismatch="ACCEPT" /> 
    </Filters> 

这将只打印信息log.If您指定级别的错误,然后将打印只警告信息等

相关问题