Different level of logs in different log files

六眼飞鱼酱① 提交于 2020-01-22 16:14:44

问题


How can we write a simple log4j2.xml file with different levels of logs going into different files?

For example we have error logs any info logs I need to push all error log messages into one log file and all info log messages into another file.

I want that info message in InfoController.log file and error message in LoginController.log file

How can i do it?


回答1:


Finally got the answer by doing this i got the logs in different files.

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



回答2:


Loggers must have unique names. The second logger in your config will replace the first one, which explains why you don't see any output for the appender referenced by the first logger.

Normally, a configuration has a root logger that will receive all events. I would recommend that, so that part of the config becomes:

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



回答3:


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

This will print only Info log.If you assign level error then it will print only warn message etc.



来源:https://stackoverflow.com/questions/28740468/different-level-of-logs-in-different-log-files

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!