我通过将 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);
答案 0 :(得分:2)
这可能是您的IDE环境'问题。我认为你的IDE有测试包标记为源目录,当你的IDE部署web应用程序时,weblogic在classpath上有你的测试包。
Log4j寻求在类路径上进行配置,因此它可能首先看到test / log4j.properties。
我的2条建议:
-Dlog4j.configuration=path/to/log4j.properties
强制log4j配置文件