log4j appender按类

时间:2012-03-08 22:41:31

标签: java apache logging log4j appender

我编写了一个log4j appender,它将采用某种消息类型并将其转储到MongoDB集群。我们称之为“审计”

我希望能够做到这样的事情:

logger.debug (new AuditEntry (...));
从任何类

并让log4j自动将“AuditEntry”类型的任何日志消息路由到我的Audit appender。这可能吗?到目前为止,我能够做到这一点的唯一方法是将它添加到rootLogger链中:

log4j.rootLogger=DEBUG, Console, Audit

但当然,AuditEntry也是toString()'到控制台 - 我想尽可能避免这种情况。

我想过一个解决方案,但我不确定它是否是最好的解决方案。使审计过滤器成为链中的第一个:

log4j.rootLogger=DEBUG, Audit, Console

然后在我的log4j appender调用“clearFilterChain()”里面我还没有尝试过这个...我也没有找到关于这个函数的任何文档。

还有其他解决方案吗?

0 个答案:

没有答案