Log4j字符串匹配 - 回调选项

时间:2011-03-15 10:13:33

标签: java java-ee log4j

我正在使用log4j进行应用程序日志记录。每当记录一些错误消息时,我想执行一些操作,如发送套接字消息/发送陷阱/ db更新。我可以看到,在log4j中,StringMatchFilter或LevelRange Filter可用于grep字符串。但是有可能用log4j注册任何回调方法,这将在任何字符串匹配时调用吗?我想它可能是Jamon工具但不想为这个简单的功能使用新的框架。

2 个答案:

答案 0 :(得分:3)

您可以通过附加自己的appender来注册回调。只需确保从org.apache.log4j.AppenderSkeleton派生,因此您只需实施append(LoggingEvent)方法。

AppenderSkeleton处理过滤,因此您可以将常用的<filter>配置添加到您的appender,并且只会为匹配事件调用append方法。

答案 1 :(得分:1)

这些操作是您的业务逻辑的一部分,还是仅存储日志信息的其他方式?

如果它是您的业务逻辑的一部分,那么我认为您正试图将它们附加在错误的位置。

如果您只想要更多方式来传输/存储日志,那么请查看其中的不同Appender实现。已经存在大量不同的Appender版本,并且将它们附加到适当的记录器可能只是做你想要的。

如果这不是您想要的,请澄清您的要求。