我有这个 skinny-war EAR 文件。它应该包含在 WildFly 8.2.0.Final 应用程序服务器中。
- lib
- log4j-api-2.1.jar
- log4j-core-2.1.jar
- META-INF
- application.xml
- jboss-app.xml
- log4j2.xml
- MANIFEST.MF
- my-ejb.jar
- my-web.war (skinny war)
- META-INF
- MANIFEST.MF
- WEB-INF
- classes
- ...
- lib (empty since skinny war)
- index.html
当我第一次从 my-web.war
开始记录时,我不断收到此消息:2015-03-04 11:04:22,806 ERROR [stderr] (default task-23 ) 错误 StatusLogger Log4j2 找不到日志记录实现。请将 log4j-core 添加到类路径中。使用 SimpleLogger 登录到控制台...
并且没有消息添加到我的日志文件中。
然而,当我从 my-ejb.jar
开始记录时,我一点问题都没有,随后从 my-web.war
进行的记录也工作正常.
如何在我的 EAR 文件中正确使用/配置 log4j2,这样我就不必关心我的 ejb 文件是否先被调用?
文件,按要求:
我的-ejb.jar/META-INF/MANIFEST.MF:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Olivier
Class-Path: lib/log4j-api-2.1.jar lib/guava-18.0.jar lib/log4j-core-2.
1.jar lib/log4j-web-2.1.jar
Created-By: Apache Maven 3.2.3
Build-Jdk: 1.8.0_25
my-web.war/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Olivier
Class-Path: lib/log4j-api-2.1.jar lib/guava-18.0.jar lib/log4j-core-2.
1.jar lib/log4j-web-2.1.jar
Created-By: Apache Maven 3.2.3
Build-Jdk: 1.8.0_25
最佳答案
log4j2.xml
文件必须在类路径中才能找到。
试着把它放在这里:
my-web.war
WEB-INF
classes
log4j2.xml
关于java - 我的 EAR 中的 WAR 无法正确加载 log4j2,但 JAR 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28852017/