不同日志文件中的不同级别的日志[英] Different level of logs in different log files

本文是小编为大家收集整理的关于不同日志文件中的不同级别的日志的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

如何编写一个简单的log4j2.xml文件,其中包含不同级别的日志中的不同级别?

例如,我们有错误日志的任何信息日志,我需要将所有错误日志消息推入一个日志文件,并将所有信息日志消息推入另一个文件.

我希望在infocontroller.log文件和logincontroller.log文件中的错误消息

中使用该信息消息.

我该怎么做?

推荐答案

终于通过这样做获得了答案,我在不同的文件中获得了日志.

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

其他推荐答案

记录器必须具有唯一的名称.配置中的第二个记录器将替换第一个记录器,这说明了为什么您看不到第一个记录器引用的appender的任何输出.

通常,配置具有将接收所有事件的根记录器.我建议这样做,以便配置的一部分变为:

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

其他推荐答案

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

这将仅打印信息日志.如果您分配级别错误,则它将仅打印警告消息等.

本文地址:https://www.itbaoku.cn/post/1575204.html

问题描述

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?

推荐答案

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>

其他推荐答案

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>

其他推荐答案

  <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.