1

我知道有很多关于这个主题的帖子,但我没有发现其中任何一个有用或相关。

我有一个简单的要求。我正在从 JBoss AS 4.0.4 迁移到 JBoss AS 6。在我的 4.0.4 环境中,我在 server/myconfig/conf 文件夹中有一个 log4j.xml,在 server/myconfig/lib 中有一个 log4j.jar。我意识到 JBoss AS 6 已更改为原生日志框架。我们严重依赖 log4j,改变是不切实际的。我看到很多帖子说要在应用程序中打包 log4j jar 和 log4j.xml 文件。我在 deploy 和 lib 中有几十个 jar 和 war 文件。我真的会被期望将 log4j.jar 和 log4j.xml 打包到所有这些中吗?我希望不会,所以也许设置 -Djboss.as.logging.per-deployment=false 会有所帮助?但是我仍然看到人们说即使使用该设置也要将 log4j.jar 和 log4j.xml 放入 ear/war 文件中。

如果有人可以请告诉我如何模仿我的 4.0.4 设置。

谢谢,保罗

4

3 回答 3

0

JBoss 自动注入 log4J 1.2、SLF4J、common-logging 和 java.util.logging 的 API。不要其与应用程序打包在一起。

您可以将日志记录配置添加到:serverDirectory\standalone\configuration\standalone.xml(或您选择使用的任何配置)。

下面是添加日志配置的部分(JBoss EAP 6):

<subsystem xmlns="urn:jboss:domain:logging:1.3">
    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILE"/>
        </handlers>
    </root-logger>
</subsystem>
于 2015-03-26T15:25:00.227 回答
0

我认为没有必要在你的应用程序中打包 log4j jar。

做以下事情:

1.) 在 Standalone.conf.bat 文件中设置以下参数 set "JAVA_OPTS=%JAVA_OPTS% -Dorg.jboss.as.logging.per-deployment=false

2.) 为 log4j 制作一个模块。在 log4j 的模块文件夹中。作为参考,您可以检查已经存在的其他文件夹。

3.) 制作一个 jboss-deployment-structure.xml 将其放在 web-inf 文件夹中。该文件将包含以下内容

<jboss-deployment-structure>
    <deployment>
        <include>
            <module name="org.apache.log4j" />
        </include>
    </deployment>
</jboss-deployment-structure>

它将在您的应用程序中包含 log4j jar。

于 2013-04-19T12:00:44.793 回答
0

我在 Jboss 6.1 上使用 Log4J 没有任何问题。

从来不需要在任何地方包含 Log4J jar,似乎包含(检查这个,我在 下找到它client/lib)。

我必须做的唯一特别的事情是将我的 Log4J 配置集成到server/<config>/deploy/jboss-logging.xml(布局与 a 非常相似log4j.xml)。

之后,我只是org.apache.log4j.Logger在我的课程中使用,一切都按预期工作。

于 2013-05-17T13:17:49.817 回答