我有一个log4j.properties文件
log4j.appender.BigBrotherLog=org.apache.log4j.RollingFileAppender
log4j.appender.BigBrotherLog.File=${userprofile.broker.bigbrother.log4j.file.path}
log4j.appender.BigBrotherLog.MaxFileSize=100MB
log4j.appender.BigBrotherLog.MaxBackupIndex=10
log4j.appender.BigBrotherLog.layout=org.apache.log4j.PatternLayout
log4j.appender.BigBrotherLog.layout.ConversionPattern=%d{yy/MM/dd} %d{HH:mm:ss} ALARM CRITICAL SITA ESB (SOAESB) [%-t] (%F:%L) %-5p %-c{1} %x- %m%n
log4j.appender.BigBrotherLog.Threshold=FATAL
我从外部属性文件传递$ {userprofile.broker.bigbrother.log4j.file.path}。但我想将此外部属性文件放在类路径中。我怎样才能使它工作?感谢。
答案 0 :(得分:6)
调用java命令时,传入系统属性-Dlog4j.configuration=file:[path-to-your-external-file]
。重要的部分是file:
,否则log4j将只尝试从类路径和系统资源加载。
您还可以使用-Dlog4j.debug=true
查看log4j尝试从中获取配置文件的位置。