Log4j字符串匹配 - 回调选项
问题描述:
我正在使用log4j进行我的应用程序日志记录。每当记录一些错误消息时,我想执行一些操作,例如发送套接字消息/发送陷阱/数据库更新。我可以看到,在log4j中,可以使用StringMatchFilter或LevelRange Filter来grep字符串。但是,是否有可能注册任何回调方法与log4j这将调用任何字符串匹配?我猜它可能是Jamon工具,但不想为这个简单的功能使用新的框架。Log4j字符串匹配 - 回调选项
答
您可以通过附加自己的appender来注册回调。只要确保从org.apache.log4j.AppenderSkeleton
派生,所以你只需要实现append(LoggingEvent)
方法。
AppenderSkeleton
处理过滤,所以你可以平时<filter>
配置添加到您的appender和你append
方法才会被调用匹配事件。
答
这些操作是否是您业务逻辑的一部分,还是只是存储日志信息的其他方式?
如果它是您业务逻辑的一部分,那么我认为您正试图在错误的位置附加它们。
如果你只是想要更多的方式来传输/存储你的日志,然后看看有不同的Appender
实现。已经有很多种不同的Appender
版本,并且将它们附加到相应的记录器中可能只是做你想做的。
如果这不是你想要的,请澄清你的要求。
谢谢丹。看起来很简单,很棒。 – ihavprobs 2011-03-15 13:54:58