默认情况下,log4j 中的 FATAL 级别将映射到 Syslog 中的紧急情况。由于我们公司的 IT syslog 使用要求,我需要 FATAL 来映射到 syslog 警报。
有谁知道一个简单的方法来完成这个?
这里有关于如何通过覆盖append
SyslogAppender 类中的方法来执行此操作的指南。afai 可以看到其中的映射log4j
是硬编码的。
如果您使用 logger.fatal(),标准 log4j syslog appender 将使用最高 syslog 严重性记录此消息,即级别 0,“emerg”。此级别通常保留用于最紧急的操作系统相关消息,并且在大多数 Unix 系统上将在每个登录用户的终端会话上打印消息。对于大多数应用程序,这可能不是您想要的。如果应用程序遇到致命错误,它应该将消息记录为较低级别,如“关键”,级别 2。您可以通过实现覆盖“附加”方法的附加程序来做到这一点。