2012-05-01 73 views
4

在以前版本的JBoss我能夠配置SYSLOG附加器與JBoss的-的log4j.xml配置如下:JBoss應用服務器7配置日誌記錄到系統日誌追加程序

<appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender"> 
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
    <param name="Facility" value="LOCAL7"/> 
    <param name="FacilityPrinting" value="true"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/> 
    </layout> 
</appender> 

現在我已經升級到JBoss AS 7,它似乎應該在$JBOSS_HOME/standalone/configuration/standalone.xml去,但語法是不同的。

我的問題是:如何配置Jboss AS 7使用SYSLOG appender?

回答

8

由於沒有syslog appender,log4j不再用於JBoss AS 7。如果你想要類似的東西,你將不得不尋找或開發自定義的java.util.logging.Handler

處理程序一旦創建,最好將其設置爲模塊。假設處理程序名爲com.example.logging.SysLogHandler。在$JBOSS_HOME/modules中創建一個名爲com/example/logging/main的目錄。在該目錄中放置您的庫並創建module.xml文件,有關示例,請參閱其他模塊。

module.xml例如:

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="com.example.logging"> 
    <resources> 
     <resource-root path="sys-log.jar"/> 
    </resources> 
    <dependencies> 
     <!-- Insert any dependencies here like the example below --> 
     <!-- <module name="org.jboss.logmanager"/> --> 
    </dependencies> 
</module> 

現在,您可以編輯standalone.xml添加自定義處理程序。

<subsystem xmlns="urn:jboss:domain:logging:1.1"> 
    ... 
    <!-- A syslog handler --> 
    <custom-handler name="syslog" class="com.example.logging.SysLogHandler" module="com.example.logging"> 
     <level name="INFO"/> 
     <formatter> 
      <pattern-formatter pattern="%d{MMM dd HH:mm:ss} %-5p [%c] (%t) %s%n"/> 
     </formatter> 
     <properties> 
      <!-- Set any properties that can accessed through setter methods --> 
      <property name="autoFlush" value="true"/> 
     </properties> 
    </custom-handler> 
    ... 
    <root-logger> 
     <level name="INFO"/> 
     <handlers> 
      <handler name="CONSOLE"/> 
      <handler name="FILE"/> 
      <handler name="syslog"/> 
     </handlers> 
    </root-logger> 
</subsystem> 
+0

我寫我自己的/發現系統日誌後處理程序如何在standalone.xml中配置它?我在哪裏放置jar文件? $ JBOSS_HOME /獨立/ lib/ext目錄? –

+0

您將使用'<自定義處理程序/>'。我會用一個例子來更新答案。決定把它放在哪裏取決於你想如何使用它。我會採取的做法可能會使它成爲一個模塊。 –

+0

感謝您的幫助! –

0

我有同樣的問題,並從上面的答案開始,我自己實現了一個版本。與配置文件一起,您可以在Github

0

的JBoss AS 7.2有系統日誌處理程序,所以你可以使用:

<syslog-handler name="SYSLOG"> 
    <level name="DEBUG" /> 
    <server-address value="<syslog.server>"/> 
    <port value="<syslog.port>"/> 
</syslog-handler> 

... 

<root-logger> 
    <handlers> 
    ... 
     <handler name="SYSLOG" /> 
    ... 
    </handlers> 
</root-logger> 

在文檔更多信息: https://docs.jboss.org/author/display/AS72/Admin+Guide#AdminGuide-sysloghandler

相關問題