1

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

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

logger.debug (new AuditEntry (...));

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

log4j.rootLogger=DEBUG, Console, Audit

但是当然,AuditEntry 也是 toString() 输出到控制台的——如果可能的话,我想避免这种情况。

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

log4j.rootLogger=DEBUG, Audit, Console

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

还有其他解决方案吗?

4

0 回答 0