如何更改 log4j SyslogAppender 的级别转换?

发布于 2024-11-16 15:20:09 字数 118 浏览 1 评论 0原文

默认情况下,log4j 中的 FATAL 级别将映射到 Syslog 中的紧急情况。由于我们公司的 IT 系统日志使用要求,我需要 FATAL 来映射到系统日志警报。

有谁知道一个简单的方法来完成这个任务?

By default, the FATAL level in log4j will map to emergency in Syslog. Because of IT syslog usage requirements in our corporation, I need FATAL to map to syslog alert instead.

Does anyone know of a simple way to accomplish this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心作怪 2024-11-23 15:20:09

此处提供了如何执行此操作的指南通过重写 SyslogAppender 类中的 append 方法。 afai 可以看到 log4j 中的映射是硬编码的。

如果你使用logger.fatal(),
标准 log4j syslog 附加程序将
用最高的记录此消息
syslog 严重性,级别 0,
“出现”。这个级别通常是
为最紧急的操作保留
系统相关消息以及大多数
Unix 系统将打印该消息
每个登录的终端会话
在用户中。对于大多数应用程序来说,这
可能不是你想要的。如果一个
应用程序遇到致命错误,
它应该将消息记录为较低的
级别如“严重”,级别 2。您
可以通过实施来做到这一点
覆盖“append”的appender
方法。

There is guidance here on how to do this by overriding the append method in the SyslogAppender class. afai can see the mappings in log4j are hard-coded.

If you use logger.fatal(), the
standard log4j syslog appender will
log this message with the highest
syslog severity, which is level 0,
"emerg". This level is usually
reserved for the most urgent operating
system related messages and on most
Unix systems will print the message on
the terminal session of every logged
in user. For most applications, this
is probably not what you want. If an
application encounters a fatal error,
it should log the message as a lower
level like "critical", level 2. You
can do this by implementing an
appender which overrides the "append"
method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文