2013-02-15 94 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和配置文件被拿起。如果您有任何問題,請告訴我。