如何使用少量共享Java文件基于包名分割日志文件?

时间:2016-03-16 17:10:43

标签: java logging log4j

背景:我已经在 com.abc.A基础软件包 (A.java,B.java,<...)下为需求A 开发了一个Java EE Web应用程序。 C.java ...... 100个文件),后来客户希望开发另一个需求B ,这与需求A 非常相似所以,我决定在相同的Web应用程序中开发需求B 但在不同的基础包com.abc.B * (A.java,C.java ... 100个文件)*。两个软件包共享的文件很少。

问题:我正在使用Log4J进行日志记录,现在对于整个项目,我有一个日志文件。我想要基于基础包的两个单独的日志文件,并且还希望记录共享文件,即使它在不同的包中

File1&gt;&gt; LogFileForA.txt

File2&gt;&gt; LogFileForB.txt

我可以根据软件包名称轻松拆分日志文件但是如何拆分日志文件以记录共享Java文件呢?

2 个答案:

答案 0 :(得分:0)

所以你基本上可以在log4j.xml中定义不同的appender。这将确保将 com.abc.A 写入 AFileAppender 并将 com.abc.B 写入 BFileAppender

log4j.category.com.abc.A = INFO, AFileAppender
log4j.category.com.abc.B = INFO, BFileAppender
log4j.rootLogger = INFO, defaultAppender

答案 1 :(得分:0)

我采用了完全不同的方法来处理日志记录中的共享文件。这个解决方案非常适合我。感谢我的技术主管(Ross Hardy)让我走上正轨,完成了这项工作。 enter image description here