log4j2 - 如何配置具有两个根级别的 log4j2?
问题描述
我想通过以下方式配置 log4j2:
- 向 Sentry 报告 ERROR 事件。
- 将 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。并将 info 及以上级别的日志(包括错误)发送到myLog
推荐阅读
- c - 我不明白这个名为“缓冲区溢出”的错误
- azure - 从 webapp 中分离 azure slot
- python - pycharm,pydev调试器,增加内存使用
- javascript - Mongoose 难以理解如何正确使用 promises/async await
- azure-api-management - 在哪里可以找到 API 管理日志记录字段列表
- java - 从文本文件中读取 200 万条记录并将它们添加到 arraylist
- html - 如何添加透明边框?
- c - 通过使用指向该函数的指针从 ARM 微控制器的 ROM 调用函数?
- react-native - RNN [v2]:如何正确地从堆栈切换到底部选项卡
- flyway - 为什么 org.flywaydb.core.Flyway API 没有加载内置的 mysql 驱动程序