java - 外部 jar 的 log4j 配置

标签 java

我有两个 Maven 项目 A 和 B。A 使用 B.jar 作为外部 jar。 A 的 log4j.properties 如下

log4j.rootLogger=INFO,file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/u01/app/log/a.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

/u01/app/log目录是服务器中部署java应用程序的目录。当我在 B.jar 中尝试使用相同的属性时,它将日志从 A 写入指定文件,但它没有将 B.jar 的日志写入文件中。似乎 B 无法访问该目录。.请帮助我配置 B.jar 中的属性并将日志从 B 写入同一文件 a.log

最佳答案

如果它们是 Maven 项目,那么 Maven 会强制您构建项目。

您应该将配置文件放入资源中

Project
|-- pom.xml
`-- src
    `-- main
        `-- resources

Maven 会找到它们。在您的情况下,您应该有项目 A 和 B 的两个配置文件,并且项目 A 的配置文件和项目 B 的配置文件应该在适当的位置准备好(您的情况下的资源)

关于java - 外部 jar 的 log4j 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045229/

相关文章:

java - GWT:2.6 -> 2.8 System.getProperty ("line.separator")不再支持

spring - 内存不足错误: PermGen space - XX:MaxPermSize doesn't work

java - 在java中使用选择排序对整数数组进行排序。找不到我的错误

java - OSGi list 为空

java - 为图书馆程序中的书籍分配状态

java - Hibernate:使用 EntityManager 插入更新

java - SPOJ 阶乘问题

java - 检查用户名和密码是否存在于表中

java - Liferay 通过 ext 插件对源代码进行的更改没有发生

java - 在文件中查找字符串或字符串数​​组在Java中将它们分开