Java 将war文件中不同JAR的日志分开

Java 将war文件中不同JAR的日志分开,java,log4j,Java,Log4j,我有一个部署在jboss服务器上的war文件。这场战争包含一些jar文件。 我需要的是为不同的jar创建单独的日志。 我使用log4j进行日志记录,并且在每个jar中集成了log4j属性文件。 每个jar的log4j都有不同的路径。 这些日志仍然是在jboss的server.log中生成的。 我需要帮助为每个jar生成单独的日志。如果您想为不同的jar生成不同的日志文件,您必须在与每个jar相关的log4j.properties文件中配置它(我假设每个jar都有不同的包命名约定) 下面是一个示例

我有一个部署在jboss服务器上的war文件。这场战争包含一些jar文件。 我需要的是为不同的jar创建单独的日志。 我使用log4j进行日志记录,并且在每个jar中集成了log4j属性文件。 每个jar的log4j都有不同的路径。 这些日志仍然是在jboss的server.log中生成的。
我需要帮助为每个jar生成单独的日志。

如果您想为不同的jar生成不同的日志文件,您必须在与每个jar相关的
log4j.properties
文件中配置它(我假设每个jar都有不同的包命名约定)

下面是一个示例,例如,如果要将消息记录在包名以
org.jar1
org.jar2
开头的不同文件中

log4j.debug=true
log4j.logger.org.jar1=DEBUG,jar1logger
log4j.logger.org.jar2=DEBUG,jar2logger

log4j.additivity.org.jar1=false
log4j.additivity.org.jar2=false
log4j.appender.jar1logger=org.apache.log4j.RollingFileAppender
log4j.appender.jar1logger.layout=org.apache.log4j.PatternLayout
log4j.appender.jar1logger.layout.ConversionPattern=%d [%t]<%-5p> %c -> %m%n
log4j.appender.jar1logger.File=/var/log/mylog/jar1.log
log4j.appender.jar1logger.Append=true
log4j.appender.jar1logger.MaxFileSize=1024KB
log4j.appender.jar1logger.MaxBackupIndex=5

log4j.appender.jar2logger=org.apache.log4j.RollingFileAppender
log4j.appender.jar2logger.layout=org.apache.log4j.PatternLayout
log4j.appender.jar2logger.layout.ConversionPattern=%d [%t]<%-5p> %c -> %m%n
log4j.appender.jar2logger.File=/var/log/mylog/jar2.log
log4j.appender.jar2logger.Append=true
log4j.appender.jar2logger.MaxFileSize=1024KB
log4j.appender.jar2logger.MaxBackupIndex=5
log4j.debug=true
log4j.logger.org.jar1=DEBUG,jar1logger
log4j.logger.org.jar2=DEBUG,jar2logger
log4j.additivity.org.jar1=false
log4j.additivity.org.jar2=false
log4j.appender.jar1logger=org.apache.log4j.RollingFileAppender
log4j.appender.jar1logger.layout=org.apache.log4j.patternalyout
log4j.appender.jar1logger.layout.ConversionPattern=%d[%t]%c->%m%n
log4j.appender.jar1logger.File=/var/log/mylog/jar1.log
log4j.appender.jar1logger.Append=true
log4j.appender.jar1logger.MaxFileSize=1024KB
log4j.appender.jar1logger.MaxBackupIndex=5
log4j.appender.jar2logger=org.apache.log4j.RollingFileAppender
log4j.appender.jar2logger.layout=org.apache.log4j.patternalyout
log4j.appender.jar2logger.layout.ConversionPattern=%d[%t]%c->%m%n
log4j.appender.jar2logger.File=/var/log/mylog/jar2.log
log4j.appender.jar2logger.Append=true
log4j.appender.jar2logger.MaxFileSize=1024KB
log4j.appender.jar2logger.MaxBackupIndex=5
根据您的要求,无论您是希望每天创建日志还是基于大小创建日志,您都必须更改配置


请记住,如果任何jar中的包名以
org.jar1
开头,那么所有日志都将写入
jar1.log
文件

谢谢@rajeev的帮助。我按照你的建议试过了,但不知怎么的,它不起作用。log4j.debug=true log4j.logger.com.stgmastek.rbs.services.wrapper=debug,jar1logger 35; log4j.logger.org.jar2=debug,jar2logger log4j.additivity.com.stgmastek.rbs.services.wrapper=false log4j.appender.jar1logger=org.apache.log4j.RollingFileAppender log4j.appender.jar1logger.layout=org.apache.log4j.patternallayout log4j.appender.jar1logger.layout.ConversionPattern=%d[%t]%c->%m%n log4j.appender.jar1logger.File=/data/jboss/BOP_TEMP/iso.log log4j.appender.jar1logger.Append=true log4j.appender.jar1logger.MaxFileSize=1024KB log4j.appender.jar1logger.MaxBackupIndex=5以上是部署在jar文件中的log4j属性文件。我是否需要在war文件中部署它。如果我缺少什么,请帮助我。是的你需要部署它!。确保您的log4j.properties在WEB-INF/classes目录中可用。现在我使用的是位于WEB-INF\classes\的log4j.xml。我的jar位于WEB-INF\lib\。我试图使用jar中的java代码访问此文件。我正在使用DOMConfigurator.configure(“.WEB-INF\classes\/log4j.xml”);我发现FileNotFound异常。