我编写了一个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()”里面我还没有尝试过这个...我也没有找到关于这个函数的任何文档。
还有其他解决方案吗?