JBoss5.x下配置Log4j方法介紹
最近在學(xué)習(xí)JBoss下配置Log4j,JBoss的各個版本的目錄、JBoss和Log4j集成的文件名每次都有變化,在JBoss5.x下配置了log4j.xml文件,但是配置沒有生效。如果你在項(xiàng)目中沒有指定使用的log4j的配置文件,最好使用JBoss自帶的配置文件,文件名為jboss-log4j.xml。該文件在Jboss容器的目錄為:${JBOSS_HOME}\server\default\conf下。下面就是基于log4j默認(rèn)配置的一些基本修改和注釋:
<span style="font-size:12px;"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
<param name="File" value="${jboss.server.log.dir}/server.log" />
<param name="Append" value="true" />
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<!-- Rollover at the top of each hour
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
-->
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
<!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<appender name="ErrorFile" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
<param name="File" value="${jboss.server.log.dir}/error.log" />
<param name="Threshold" value="ERROR" />
<param name="Append" value="true" />
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
<!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
<param name="Target" value="System.out" />
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
</layout>
</appender>
<!-- ================ -->
<!-- Limit categories -->
<!-- ================ -->
<category name="org.hibernate">
<priority value="WARN" />
</category>
<category name="org.hibernate.engine.loading.LoadContexts">
<priority value="ERROR" />
</category>
<category name="org.jboss">
<priority value="INFO" />
</category>
<!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
<category name="org.apache">
<priority value="WARN" />
</category>
<!-- Limit the jacorb category to WARN as its INFO is verbose -->
<category name="jacorb">
<priority value="WARN" />
</category>
<!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
<category name="org.jgroups">
<priority value="WARN" />
</category>
<!-- Limit the org.quartz category to INFO as its DEBUG is verbose -->
<category name="org.quartz">
<priority value="INFO" />
</category>
<!-- Limit the JSR77 categories -->
<category name="org.jboss.management">
<priority value="INFO" />
</category>
<!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
<category name="org.jboss.serial">
<priority value="INFO" />
</category>
<category name="com.liang">
<priority value="DEBUG" />
</category>
<!-- ======================= -->
<!-- Setup the Root category -->
<!-- ======================= -->
<root>
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
<appender-ref ref="ErrorFile" />
</root>
</log4j:configuration></span>
1. Log4j的幾種輸出方式
org.apache.log4j.ConsoleAppender(控制臺)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件)
org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定位置)
2. 日志記錄的優(yōu)先級
優(yōu)先級從高到低:OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL。
log4j建議使用FATAL、ERROR、WARN、INFO、DEBUG。
你可以在<param name="Threshold" value="ERROR" />來配置level,Threshold是一個全局的過濾器,低于其設(shè)置的level將不會顯示出來。
3. 當(dāng)重啟Jboss服務(wù)之后是否保存之前的日志
<param name="Append" value="true" />,設(shè)置為true后,當(dāng)Jboos重啟后當(dāng)前的log不會消失,即在原有日志上增加新日志。
4. 日志輸出格式
%c 輸出所屬類的全名,可在修改為 %c{num} ,num表示輸出的范圍
如:"org.apache.elathen.ClassName",%c{2}將輸出elathen.ClassName
%d 輸出日志時(shí)間其格式為 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
%l 輸出日志事件發(fā)生位置,包括類目名、發(fā)生線程,在代碼中的行數(shù)
%n 換行符
%m 輸出代碼指定信息,如info("message"),輸出message
%p 輸出優(yōu)先級,即 FATAL ,ERROR 等
%r 輸出從啟動到顯示該log信息所耗費(fèi)的毫秒數(shù)
%t 輸出產(chǎn)生該日志事件的線程名
5. 關(guān)于category的配置
category指定了以什么開頭的包下的類輸出的日志的級別。例如:
<category name="com.liang"> <priority value="DEBUG" /> <appender-ref ref='FILE'/> </category>
從上面可以看出,項(xiàng)目中以com.liang包開頭的所有類中,凡是DEBUG級別的日志可以輸出到FILE中。
注意:定義了一個appender-ref=FILE的引用,但是你如果也在root下配置了appender-ref=FILE的引用,會導(dǎo)致輸出到FILE的日志會重復(fù)。本人碰到過類似的問題。
總結(jié)
以上就是本文關(guān)于JBoss5.x下配置Log4j方法介紹的全部內(nèi)容,希望對大家有所幫助。剛興趣的朋友可以繼續(xù)參閱本站:淺談Spring的兩種配置容器、為什么我們要做三份 Webpack 配置文件、Java之Spring注解配置bean實(shí)例代碼解析等,感謝閱讀、
相關(guān)文章
nacos gateway動態(tài)路由實(shí)戰(zhàn)
這篇文章主要介紹了nacos gateway動態(tài)路由實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
java中Socket設(shè)置超時(shí)時(shí)間的兩種方式
這篇文章主要介紹了java中Socket設(shè)置超時(shí)時(shí)間的兩種方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
spring-boot通過@Scheduled配置定時(shí)任務(wù)及定時(shí)任務(wù)@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過@Scheduled配置定時(shí)任務(wù),文中還給大家介紹了springboot 定時(shí)任務(wù)@Scheduled注解的方法,需要的朋友可以參考下2017-11-11
Java 根據(jù)網(wǎng)絡(luò)URL獲取該網(wǎng)頁上面所有的img標(biāo)簽并下載圖片
這篇文章主要介紹了Java 根據(jù)網(wǎng)絡(luò)URL獲取該網(wǎng)頁上面所有的img標(biāo)簽并下載圖片,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-11-11
Springboot?內(nèi)部服務(wù)調(diào)用方式
這篇文章主要介紹了Springboot?內(nèi)部服務(wù)調(diào)用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Hadoop之NameNode Federation圖文詳解
今天小編就為大家分享一篇關(guān)于Hadoop之NameNode Federation圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
給Java菜鳥的一些建議_關(guān)于Java知識點(diǎn)歸納(J2EE and Web 部分)
下面小編就為大家?guī)硪黄oJava菜鳥的一些建議_關(guān)于Java知識點(diǎn)歸納(J2EE and Web 部分)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Java多線程并發(fā)synchronized?關(guān)鍵字
這篇文章主要介紹了Java多線程并發(fā)synchronized?關(guān)鍵字,Java?在虛擬機(jī)層面提供了?synchronized?關(guān)鍵字供開發(fā)者快速實(shí)現(xiàn)互斥同步的重量級鎖來保障線程安全。2022-06-06

