本文介绍了使用log4j2,是否可以为附加器分配特定级别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用log4j2,我希望设置MongoDB中的最大持久化级别,独立于记录器级别和全局配置级别。

请注意,NoSql name="databaseAppender"Level="info"无法正常工作

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" monitorInterval="30">

  <Appenders>
    <File name="log" fileName="target/test.log" append="false">
    </File>  
    <NoSql name="databaseAppender" level="info">     
      <MongoDb  databaseName="mydb" collectionName="log" server="127.0.0.1" port="28001"
                factoryClassName="MongoUtil"
                factoryMethodName="getMongoDB"/>
    </NoSql>
  </Appenders>

  <Loggers>
    <Root level="trace">
      <AppenderRef ref="log"/>
      <AppenderRef ref="databaseAppender"/>
    </Root>        
  </Loggers>
</Configuration>

推荐答案

您可以在附加器上设置级别-ref:

<Loggers>
    <Root level="trace">
      <AppenderRef ref="log"/>
      <AppenderRef ref="databaseAppender" level="info" />
    </Root>        
</Loggers>

如果要执行更复杂的操作,如有信息级别消息(无跟踪/调试、无警告/错误/致命)转到某个附加器,则可以组合使用多个threshold filters

这篇关于使用log4j2,是否可以为附加器分配特定级别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 22:02