我有一个消息驱动系统,其中包含 com.example.BaseMessagingAgent 类,它是许多消息代理的基本类。该基类记录消息事件。该基类有很多子类,实现系统不同的具体代理。让我们扩展 com.example.BaseMessagingAgent 的 com.example.MyAgent 就是其中之一。
我只想记录与 MyAgent 类相关的消息。但我不能将日志定义为:
log4j.logger.com.example.MyAgent=DEBUG, APPENDER
因为日志记录发生在父类 com.example.BasicMessagingAgent 中 - 我不会记录任何内容。
而且我也不想在基类中设置日志记录:
log4j.logger.com.example.BaseMessagingAgent=DEBUG, APPENDER
因为它会记录所有代理的事件,我会有很多不必要的日志记录。
有人知道如何将日志记录限制为仅一个子类吗?
最佳答案
您应该为 Log4j 编写一个过滤器,因为据我所知,无法将此类信息放在 log4j.properties 文件中。更多详情请访问http://books.google.it/books?id=vHvY008Zq-YC&lpg=PA95&ots=yi335bZU7z&dq=&pg=PA95#v=onepage&q&f=false
关于java - 在 log4j 中过滤子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598119/