log4j没有看到log4j.properties文件

时间:2015-07-07 15:29:03

标签: java logging log4j

我正在尝试在我的应用中配置日志,其中log4j.properties放到/ resources文件夹中,其中包含以下内容:

#log level
log4j.rootLogger=ERROR, file
log4j 
# 
log4j.appender.file=org.apache.log4j.RollingFileAppender
#
log4j.appender.file.File=D:\agent\temp\panel log.log
#
log4j.appender.file.MaxFileSize=1MB
#
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n    

在我的应用开始时,我在控制台中看到以下内容:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

这是什么意思以及如何解决它?

3 个答案:

答案 0 :(得分:0)

尝试将log4j.properties放在源文件夹的根目录中。或者将资源添加到类路径中。

root问题是log4j没有看到你的配置文件,所以你需要让它可以访问。

从log4j手册中提取:

  

Tomcat下的默认初始化

     

默认的log4j初始化在Web服务器中特别有用   环境。在Tomcat 3.x和4.x下,你应该放置   你的WEB-INF / classes目录下的log4j.properties   Web的应用程序。 Log4j将找到属性文件并初始化   本身。这很容易做到而且很有效。

     

您还可以选择设置系统属性log4j.configuration   在启动Tomcat之前。对于Tomcat 3.x TOMCAT_OPTS环境   变量用于设置命令行选项。对于Tomcat 4.0,请设置   CATALINA_OPTS环境变量而不是TOMCAT_OPTS。

答案 1 :(得分:0)

我遇到了同样的问题,我使用的是tomcat 7。 我通过添加conf路径到/bin/setenv.sh解决了这个问题(如果你在linux上,如果它不存在则创建文件),如下所示:

export JAVA_OPTS="$JAVA_OPTS -Dconfig.location=file -Dlog4j.configuration=file:///opt/apache-tomcat-7.0.61/lib/log4j.properties"

如果你在Windows上编辑或创建setenv.bat并写这样的东西(不确定路径格式):

set JAVA_OPTS=%JAVA_OPTS%-Dconfig.location=file -Dlog4j.configuration=file://c:/opt/apache-tomcat-7.0.61/lib/log4j.properties

忘了说:这会影响服务器上的所有应用

答案 2 :(得分:0)

我已将log4j.properties更改为log4j.xml并将其放到资源文件夹中,现在一切正常。也许我的log4j版本不支持.properties格式