我在weblogic中部署了一个ear,并将log4j2.xml logPath设置为
<Property name="logPath">some_path_1<Property>
和记录器定义为
<Logger name="a.b.c.d" level="INFO" />
在这个ear / lib里面有一个包含log4j2.xml的jar,logPath属性定义为
<Property name="logPath">some_path_2<Property>
和一个包装结构非常相似的记录器
<Logger name="a.b.c" level="INFO" />
log4j2.xml都配置为具有不同的日志文件名.
但两者的日志都在路径some_path_2中,并且在该jar中定义了文件名
如何确保两个日志记录输出按照定义单独进行?
我的耳朵结构就像
ear |--lib |--|--abc.jar |--|--|--log4j2.xml //the one thats getting loaded |--xyz.war |--|--WEB-INF |--|--|--classes |--|--|--|--log4j2.xml // the one I want
Edit1:我在包含war的web.xml中添加了以下内容,但它没有帮助
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j2.xml</param-value> </context-param>
编辑2:我也试过这个,发现这是间歇性的
ear |--lib |--|--abc.jar |--|--|--log4j2.xml //the one thats getting loaded |--|--xyz.jar |--|--|--log4j2.xml //the one I want.. works but not always.Does classloader loads the jars alphabetically? |--xyz.war |--|--WEB-INF |--|--|--classes |--|--|--|--log4j2.xml // the one I want