2013-02-15 65 views
3

我不想使用standalone.xml或CLI配置日志记录,因为它需要额外的步骤才能让我的同事获得一个可用的开发环境。我希望使用我们的源代码签入这些配置文件,并在部署时自动应用。JBoss 7:相当于jboss-log4j.xml

使用JBoss 5可以在jboss-log4j.xml中声明日志记录。 JBoss 7中是否还有与此文件相同的内容?

我们想要使用slf4j和logback。

+1

试试这个希望这可能会帮助你http://stackoverflow.com/questions/14182257/using-applications-log4j-configuration-under-jboss-7-1-1/14337990#14337990 – gYanI 2013-02-15 13:38:13

回答

3

您可以将logback配置添加到您的应用程序。你需要在你的应用程序中包含logback。 可能必须使用jboss-deployment-structure.xml(与log4j exclusion类似)来排除org.slf4j模块。这只会为您的应用程序配置日志记录。

如果您担心只是配置日志子系统,还有其他一些可能性,这些可能性取决于您的环境。

第一个和一个可与任何环境配合使用的工具是创建一个CLI script,可以检入并运行。

${JBOSS_HOME}/bin/jboss-cli.sh --connect --file path/to/script.cli 

如果你正在使用maven的第二种可能是使用maven plugin。您可以使用该插件执行CLI commands。只需添加execute-commands目标即可在部署目标运行之前运行。

+0

我会接受这个这是我的问题的答案,因为这是以一般方式配置JBoss日志的最直接方式。 – 2013-02-17 16:49:24

6

如果你想用你自己的日志,而不是JBoss的记录,你需要做一对夫妇的步骤,每个你想在自己的日志应用程序:

排除JBoss的日志

写一个jboss-deployment-structure.xml文件,用于排除JBoss中包含的jboss log4j或slf4j或任何其他日志模块。

WAR示例...发生在WAR/WEB-INF/

<jboss-deployment-structure> 
    <deployment> 
     <exclusions> 
      <module name="org.slf4j"/> 
     </exclusions> 
    </deployment> 
</jboss-deployment-structure> 

包括你自己的罐子

只需将自己的罐子在你的lib文件夹

一战,发生在WAR/WEB-INF/LIB

包括你的日志记录配置

只需提供自己的像正常

配置文件一战,发生在WAR/WEB-INF/classes中

启动JBoss与-D标志

使用运行服务器:

$ ./standalone.sh -Dorg.jboss.as.logging.per-deployment=false 

EAR示例

Place jboss-deployment-structure.xml in EAR/META-INF

<jboss-deployment-structure> 
    <sub-deployment name="myWar.war> 
     <exclusions> 
      <module name="org.slf4j"/> 
     </exclusions> 
    </sub-deployment> 
    <sub-deployment name="myWar2.war> 
     <exclusions> 
      <module name="org.slf4j"/> 
     </exclusions> 
    </sub-deployment> 
    <sub-deployment name="myEjb.jar> 
     <exclusions> 
      <module name="org.slf4j"/> 
     </exclusions> 
    </sub-deployment> 
</jboss-deployment-structure> 

EAR/lib,包括你的JARS

在每一个部署,添加configuration/properties该部署

启动服务器:$./standalone.sh -Dorg.jboss.as.logging.per-deployment=false

这应该已经换出的JBoss的版本JAR与你自己的,因此允许你自己的JAR和配置文件被拿起。如果您有任何问题,请告诉我。