Log4j日志配置

时间:2014-09-15 12:34:26

标签: java logging log4j

我通过将 log4j.properties 文件放在src/main/webapp/WEB-INF/classes文件夹中,成功配置了 log4j 配置。应用程序的日志工作正常,但我的JUnit测试用例日志记录无法正常工作。

通过互联网进行搜索,发现我必须将我的log4j.properties文件放在src/test/resources内,以便我的JUnit测试用例记录。这样做并且JUnit测试用例的日志记录也开始工作。

之后在我的服务器中部署了我的应用程序,log4j正在从src / test / resources中读取log4j.properties文件而不是WEB-INF / classes目录中的一个(JUnit log4j.properties文件创建了一个不同的日志文件日志记录,日志正在该日志文件中写入。)

应用程序(maven项目而不是war文件)正在eclipse中的我的weblogic服务器中部署。

请告诉我如何解决此log4j配置问题,以便我的服务器使用正确的log4j配置文件。

log4j import:

import org.apache.log4j.Logger;

记录器实例化:

private static Logger logger = Logger.getLogger(TestClass.class);

1 个答案:

答案 0 :(得分:2)

这可能是您的IDE环境'问题。我认为你的IDE有测试包标记为源目录,当你的IDE部署web应用程序时,weblogic在classpath上有你的测试包。

Log4j寻求在类路径上进行配置,因此它可能首先看到test / log4j.properties。

我的2条建议:

  1. 尝试将test / src标记为未导出到weblogic(或从部署中排除 - 这是特定于IDE的)
  2. 通过在weblogic启动配置中设置-Dlog4j.configuration=path/to/log4j.properties强制log4j配置文件
相关问题