考虑一个记录到A
的应用程序 /some/directory/A/logs/a.log
考虑一个记录到B
/some/directory/B/logs/b.log
考虑一个应用 C
,它打包为jar并用于 A
和 B
< /强>
我们如何从应用 C
进行记录 - 同时看作应用 A
和 B
在资源文件中有自己的log4j.properties
文件。
应用 C
应该以某种方式与 log4j.properties
和 A
分享B
项目,如果是这样,我将如何构建我的log4j.properties
文件。目前,我在 A
和 B
log=/some/directory/A/logs/a.log
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.rootLogger=DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.append=true log4j.appender.FILE.file=${log}
log4j.appender.FILE.threshold=DEBUG
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d %-5p %c - %m%n
答案 0 :(得分:1)
原则上,log4j由单个log4j.properties
文件配置。如果 A
和 B
,则网络应用程序将拥有自己的类加载器。每个类加载器都独立地查找文件。如果应用程序和核心有自己的文件,那么加载器只能加载一个文件。