将log4j 1.2.17从JBoss AS 7.1.1 Final迁移到JBoss EAP 6.2

时间:2014-07-24 16:27:51

标签: java eclipse logging jboss log4j

我正在将我的应用程序服务器从JBoss AS 7.1.1 Final迁移到JBoss EAP 6.2。但是,我遇到了Apache log4j 1.2.17和EAP 6.2的一些问题。

在AS 7.1.1中,除了在我正在Eclipse中工作的项目的构建路径中使用log4j.jar之外,我没有做任何其他事情。我想要的日志是在JBoss standalone.xml中定义的,每当我启动服务器时都会创建。我正在使用JAR文件,而不是WAR或EAR文件来部署我的应用程序。

现在迁移到EAP 6.2时,我试图在Eclipse结构中创建所有内容。 我将standalone.conf中的per-deployment设置设置为false,如下所示:

JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false"

我在项目src文件夹中创建了一个META-INF文件夹,其文件为jboss-deployment-structure.xml,其中包含以下内容:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
    <dependencies>
        <module name="com.log4j.mylog4j" export="true" />
    </dependencies>
    <exclusions>
        <module name="org.apache.log4j" />
    </exclusions>
</deployment>

我还将log4j.properties放在src文件夹中,其中包含rootlogger和所有单个记录器的定义。

但是,每当我尝试在我的应用程序中记录任何内容时,我都会收到警告:

log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我发现了我的问题。我在eclipse中有多个项目,一个是日志项目,一个程序控制我的所有日​​志记录。所以我在日志项目中设置了META-INF。但是,所有日志调用都是在具有许多其他程序的另一个项目中进行的。我不得不在另一个项目中设置META-INF而不是日志项目。不知道为什么,但它摆脱了这个错误。