2016-10-12 56 views
1

我试图修改,而不是拒绝某些消息之前使用Log4J 2日志记录。我目前正在尝试使用Filter,但我似乎无法修改任何方法的消息。 请耐心等待,因为我完全是Log4j的新手。如何修改Log4J 2中的消息?

+0

尝试使用这些过滤器之一。 https://logging.apache.org/log4j/2.0/manual/filters.html像RegexFiter这样的东西可能是你的一个,如果你想搜索一个模式,并允许和拒绝。但我不认为它会允许你修改信息。你修改什么意思?你想打印拒绝的自定义消息吗? –

回答

3

Log4j故意不让您修改LogEvent,因为它可能会传递给期望原始事件的其他过滤器和附加程序。但是,RewriteAppender将允许您创建已修改的LogEvent的副本,然后将其传递给下级Appender。 RoutingAppender也支持一个RewritePolicy来完成同样的事情。

+0

谢谢你们的帮助!幸运的是,对于我来说,我可以做一个解决方法来实现我真正想要的,但是为了尝试,我尝试了使用Rewrite appender并且完成了这项工作。谢谢! – dadus33