Log4j引用类路径中的外部属性文件

时间:2011-08-15 18:53:57

标签: log4j

我有一个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}。但我想将此外部属性文件放在类路径中。我怎样才能使它工作?感谢。

1 个答案:

答案 0 :(得分:6)

调用java命令时,传入系统属性-Dlog4j.configuration=file:[path-to-your-external-file]。重要的部分是file:,否则log4j将只尝试从类路径和系统资源加载。

您还可以使用-Dlog4j.debug=true查看log4j尝试从中获取配置文件的位置。