首页 > 解决方案 > 如何配置具有两个根级别的 log4j2?

问题描述

我想通过以下方式配置 log4j2:

  1. 向 Sentry 报告 ERROR 事件。
  2. 将 INFO 事件报告到日志文件。

就像是:

    <Loggers>
        <!-- ERROR events are reported to Sentry. -->
        <Root level="error">
            <AppenderRef ref="Sentry" />
        </Root>

        <!-- INFO events are reported to log file. -->
        <Root level="info">
            <AppenderRef ref="myLog" />
        </Root>

但当然我得到错误“配置有多个根记录器。只能有一个。”。

标签: log4j2

解决方案


您也可以为 appender 指定日志级别 -

<Loggers>
        <Root>
            <AppenderRef ref="Sentry" level="error "/>
            <AppenderRef ref="myLog" level="info" />
        </Root>
</Loggers>

使用此配置,错误及以上级别的日志将被发送到Sentryappender。并将 info 及以上级别的日志(包括错误)发送到myLog


推荐阅读