如何基于包名拆分日志文件,同时使用很少的共享Java文件?
背景:我在com.abc下为需求a开发了一个Java EE web应用程序。一个基本包(a.Java,B.Java,C.Java…100个文件),后来客户想开发另一个需求B,它与需求a非常相似,我决定在同一个web应用程序中,但在不同的基础上开发需求B(A.java、C.java…100个文件)*。两个包很少共享java文件 问题:我正在使用Log4J进行日志记录,现在对于整个项目,我有一个日志文件。我想要两个基于基本包的单独日志文件,并且还想要记录共享文件,即使它在不同的包中 File1>>LogFileForA.txt File2>>LogFileForB.txt如何基于包名拆分日志文件,同时使用很少的共享Java文件?,java,logging,log4j,Java,Logging,Log4j,背景:我在com.abc下为需求a开发了一个Java EE web应用程序。一个基本包(a.Java,B.Java,C.Java…100个文件),后来客户想开发另一个需求B,它与需求a非常相似,我决定在同一个web应用程序中,但在不同的基础上开发需求B(A.java、C.java…100个文件)*。两个包很少共享java文件 问题:我正在使用Log4J进行日志记录,现在对于整个项目,我有一个日志文件。我想要两个基于基本包的单独日志文件,并且还想要记录共享文件,即使它在不同的包中 File1>>L
我可以根据包名轻松地拆分日志文件,但如何拆分日志文件以同时记录共享的Java文件?这样您就可以在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
我采用了完全不同的方法来处理日志中的共享文件。这个解决方案对我非常有效。多亏了我的技术关键负责人(罗斯·哈迪),他让我走上了正确的道路,完成了这项工作。
感谢分享,但此解决方案不适用于包A与B共享类,包B与共享类。我有一个有效的解决方案,让我在回答中分享