我知道有很多关于这个主题的帖子,但我发现其中没有任何有用或相关的信息。
我有一个简单的要求。我正在从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设置。
谢谢, 保罗
答案 0 :(得分:0)
我认为没有必要在你的应用程序中打包log4j jar。
做以下事情:
1。)在Standalone.conf.bat文件中设置以下参数 设置“JAVA_OPTS =%JAVA_OPTS%-Dorg.jboss.as.logging.per-deployment = false
2。)为log4j制作一个模块。在log4j的modules文件夹中。作为参考,您可以检查已经存在的其他文件夹。
3.。)将一个jboss-deployment-structure.xml放在web-inf文件夹中。 该文件将包含以下内容
<jboss-deployment-structure>
<deployment>
<include>
<module name="org.apache.log4j" />
</include>
</deployment>
</jboss-deployment-structure>
它将在您的应用程序中包含log4j jar。
答案 1 :(得分:0)
我在Jboss 6.1上使用Log4J没有任何问题。
从来没有在任何地方包含Log4J jar,似乎包括在内(检查一下,我在client/lib
下找到了它。)
我唯一需要做的就是将我的Log4J配置集成到server/<config>/deploy/jboss-logging.xml
中(布局非常类似于log4j.xml
)。
之后我只在我的课程中使用org.apache.log4j.Logger
,一切都按预期工作。
答案 2 :(得分:0)
JBoss自动为log4J 1.2,SLF4J,common-logging和java.util.logging注入API。 NOT 将其与应用程序打包在一起。
您可以将日志记录配置添加到: 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>