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

标签 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}的位置。但我想将此外部属性文件放在类路径中。我该如何运作?谢谢。

最佳答案

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

您还可以使用-Dlog4j.debug=true来查看log4j尝试从何处获取其配置文件。

关于Log4j引用类路径中的外部属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7069294/

相关文章:

java - log4j 属性 : LevelMatchFilter doesn't work

configuration - 我如何让 log4J 工作 - 我得到 "package org.apache.log4j does not exist"

scala - 使用 Lift 配置日志记录

java - jndi.properties - 如何设置它?

java - jdbcadapter 中 log4j 的问题

java - log4j.properties 被忽略

Java 应用程序将日志记录相关的错误消息打印到标准输出

java - 如何将 log4j 日志记录从 catalina.out 重定向到单独的文件?

java - 如何使用 log4j 和 jboss 记录未捕获的运行时异常?

java - 从日志文件解析 Log4j 布局