JBoss6.1.0項目Log4j日誌輸出



參考

http://blog.xdemo.cn/?p=18


項目部署在jboss6.1.0上,Log4j不起作用,需要做如下配置


在項目的web-inf添加文件jboss-deployment-structure.xml


<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
	<deployment>
		<exclusions>
			<module name="org.apache.log4j" />
			<module name="org.slf4j" />
		</exclusions>
	</deployment>
</jboss-deployment-structure>


但是啓動jboss日誌的命令爲:

standalone.bat  -b 0.0.0.0 -Dorg.jboss.as.logging.per-deployment=false


就不修改bat文件了。


-Dorg.jboss.as.logging.per-deployment=false這個參數設置是把全部日誌都輸出到server.log裏,如果我們自己有配置log4j的話,就不需要這個參數



此外,jboss6更多自定義

參考:

http://rainbow702.iteye.com/blog/2142666



正文:

EAP解壓之後,在\jboss-eap-6.1\standalone\configuration目錄下,有兩份系統自帶的配置文件:

① standalone.xml

② logging.properties

其中,在eap的啓動過程中,它會讀取並解析standalone.xml這份文件,在這份文件中,有一個叫“<subsystem xmlns="urn:jboss:domain:logging:1.2">”的這麼一個 subsystem,

  • 在解析到這個subsystem之前,系統中所有的log將由上面②(即loggin.properties)中的log配置來記錄日誌
  • 但一旦這個subsystem被解析完了之後,將由此 subsystem 中的log配置來接管 記錄log 的這項工作

另外,如果standalone.xml中的logging 這個subsystem被人爲修改之後,logging.properties中的內容也會隨之發生變化。所以,如果要修改log的配置,最好是修改 standalone.xml中log的配置,不要直接去修改 logging.properties這份文件。

下面給上三個種類型的log配置:console-handler(控制檯顯示)、periodic-rotating-file-handler(定期新建一個log文件)、size-rotating-file-handler(滿足指定大小就重新新建一個log文件):


<subsystem xmlns="urn:jboss:domain:logging:1.2">
<console-handler name="CONSOLE">
<encoding value="UTF-8" />
<level name="ALL"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss.SSS} %l %K{level} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<encoding value="UTF-8" />
<level name="ALL"/>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss.SSS} %l %K{level} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</periodic-rotating-file-handler>
<periodic-rotating-file-handler name="TEST" autoflush="true">
<encoding value="UTF-8" />
<level name="ALL"/>
<file relative-to="jboss.server.log.dir" path="test.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss.SSS} %l %K{level} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</periodic-rotating-file-handler>
<size-rotating-file-handler name="ALL" autoflush="true">
<encoding value="UTF-8" />
<level name="ALL"/>
<append value="true"/>
<file relative-to="jboss.server.log.dir" path="all\all.log"/>
<rotate-size value="10m"/>
<max-backup-index value="100"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss.SSS} %l %K{level} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</size-rotating-file-handler>
<logger category="com.arjuna">
<level name="ALL"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="ALL"/>
</logger>
<logger category="org.jboss.as.config">
<level name="ALL"/>
</logger>
<logger category="sun.rmi">
<level name="ALL"/>
</logger>
<logger category="jacorb">
<level name="ALL"/>
</logger>
<logger category="jacorb.config">
<level name="ALL"/>
</logger>
<logger category="com.aaa">
<level name="ALL"/>
<handlers>
<handler name="TEST"/>
</handlers>
</logger>
<logger category="com" use-parent-handlers="false">
<level name="ALL"/>
<handlers>
<handler name="ALL"/>
</handlers>
</logger>
<logger category="org" use-parent-handlers="false">
<level name="ALL"/>
<handlers>
<handler name="ALL"/>
</handlers>
</logger>
<root-logger>
<level name="ALL"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
</subsystem>

關於log的具體信息,可以參考官方文檔:

https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/

在左邊選擇“6.1”,然後在右邊選擇“Administration and Configuration Guide”,查看其中的第13章。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章