我有这个skinny-war EAR文件。它应该包含在WildFly 8.2.0最终的应用服务器中。
- 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) ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...,并且没有消息添加到我的日志文件中。
但是,当我开始从my-ejb.jar进行日志记录时,完全没有问题,因此从my-web.war开始的日志记录也工作得很好。
如何在我的EAR文件中正确使用/配置log4j2,这样我就不必关心我的ejb文件是不是先被调用?
文件,根据要求:
my-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_25my-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发布于 2015-10-22 04:41:16
log4j2.xml文件必须在类路径中才能被找到。
试着把它放在这里:
my-web.war
WEB-INF
classes
log4j2.xml发布于 2015-03-04 18:48:17
my-ejb.jarJAR是否包含log4j MANIFEST.MF的相对类路径?如果您希望使用自己的log4j配置,请将log4j2.xml文件放到ear的根目录下,并将jboss-app.xml放到ear的META-INF文件夹中,内容如下:
<jboss-app>
<loader-repository>
org.myapp:loader=MyClassLoader
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</jboss-app>https://stackoverflow.com/questions/28852017
复制相似问题