首页 > 解决方案 > 客户端在哪里放置 log4j.properties 文件?

问题描述

Java 应用程序使用 Apache 日志记录,但无法打开它。

该应用程序是一个使用签名 Jar 文件的 Java Web Start 应用程序,因此我无法对 Jar 文件或代码进行任何更改。

创建了一个包含以下内容的log4j.properties文件,并将其放置在我机器上的所有 Java_Home/bin 目录中,以确保它会被拾取。

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=c:/MyLoggingDir/application6.log
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n
log4j.appender.rollingFile.MaxFileSize=10MB
log4j.appender.rollingFile.MaxBackupIndex=5
log4j.appender.rollingFile.append=true

log4j.rootCategory=ALL, rollingFile

当应用程序启动时,Java 控制台中看不到任何输出,并且在 c:/MyLoggingDir 目录中没有创建任何文件。

为了获得输出,是否需要设置另一个要求?

标签: javaapachelogging

解决方案


log4j 的文档中

Log4j 将检查“log4j.configurationFile”系统属性,如果设置,将尝试使用与文件扩展名匹配的 ConfigurationFactory 加载配置。

因此,例如,如果您将属性文件放入 中C:\Configuration\log4j.properties,您应该使用标志运行您的应用程序-Dlog4j.configuration="file:C:\Configuration\log4j.properties"

另请参阅this other answer


推荐阅读