我正在尝试在我的应用中配置日志,其中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.
这是什么意思以及如何解决它?
答案 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格式