如何配置具有两个根级别的 log4j2?
How to configure log4j2 with two root levels?
我想按以下方式配置 log4j2:
- 向哨兵报告错误事件。
- 将 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>
但是我当然会收到错误消息“配置有多个根记录器。只能有一个。”。
你也可以为 appender 指定日志级别 -
<Loggers>
<Root>
<AppenderRef ref="Sentry" level="error "/>
<AppenderRef ref="myLog" level="info" />
</Root>
</Loggers>
使用此配置,错误和更高级别的日志将发送到 Sentry
appender。并且信息和以上级别的日志(包括错误)将被发送到myLog
适合我的解决方法:
<!-- ERROR events are reported to Sentry. -->
<Root level="error">
<AppenderRef ref="Sentry" />
</Root>
<!-- INFO events are reported to myLog. -->
<Logger name="com" level="info">
<AppenderRef ref="myLog" />
</Logger>
<Logger name="org" level="info">
<AppenderRef ref="myLog" />
</Logger>
我想按以下方式配置 log4j2:
- 向哨兵报告错误事件。
- 将 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>
但是我当然会收到错误消息“配置有多个根记录器。只能有一个。”。
你也可以为 appender 指定日志级别 -
<Loggers>
<Root>
<AppenderRef ref="Sentry" level="error "/>
<AppenderRef ref="myLog" level="info" />
</Root>
</Loggers>
使用此配置,错误和更高级别的日志将发送到 Sentry
appender。并且信息和以上级别的日志(包括错误)将被发送到myLog
适合我的解决方法:
<!-- ERROR events are reported to Sentry. -->
<Root level="error">
<AppenderRef ref="Sentry" />
</Root>
<!-- INFO events are reported to myLog. -->
<Logger name="com" level="info">
<AppenderRef ref="myLog" />
</Logger>
<Logger name="org" level="info">
<AppenderRef ref="myLog" />
</Logger>