锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
##org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
Log4j.properties鏂囦歡
## LOGGERS ##
# define a logger named helloAppLogger
log4j.rootLogger=INFO,console,file聽聽聽 #鏃ュ織綰у埆涓篒nfo
## APPENDERS ##
# define an appender named console, which is set to be a ConsoleAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
# define an appender named file, which is set to be a RollingFileAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=M:\\myserver.log聽聽 #鏃ュ織鍐欏叆鏂囦歡聽
## LAYOUTS ##
# assign a SimpleLayout to console appender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
# assign a PatternLayout to file appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern==%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n聽 #鏃ュ織杈撳嚭鏃ユ湡鏍煎紡
simplelog.properties
#Tue Feb 07 11:31:28 CST 2006
org.apache.commons.logging.simplelog.defaultlog=info
榪?涓枃浠剁洿鎺ユ斁鍦ㄤ綘src鐩綍涓嬪氨鍙互浜?
綾婚噷榪欎箞璋冪敤
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Log log = LogFactory.getLog("XXX");
log.info("log message");
銆銆鍏跺疄鎮ㄤ篃鍙互瀹屽叏涓嶄嬌鐢ㄩ厤緗枃浠訛紝鑰屾槸鍦ㄤ唬鐮佷腑閰嶇疆Log4j鐜銆備絾鏄紝浣跨敤閰嶇疆鏂囦歡灝嗕嬌鎮ㄧ殑搴旂敤紼嬪簭鏇村姞鐏墊椿銆侺og4j鏀寔涓ょ閰嶇疆鏂囦歡鏍煎紡錛屼竴縐嶆槸XML鏍煎紡鐨勬枃浠訛紝涓縐嶆槸Java鐗規ф枃浠訛紙閿?鍊鹼級銆備笅闈㈡垜浠粙緇嶄嬌鐢↗ava鐗規ф枃浠跺仛涓洪厤緗枃浠剁殑鏂規硶錛?/P>
銆銆1.閰嶇疆鏍筁ogger錛屽叾璇硶涓猴細
銆銆log4j.rootLogger = [ level ] , appenderName, appenderName, 鈥?
銆銆鍏朵腑錛宭evel 鏄棩蹇楄褰曠殑浼樺厛綰э紝鍒嗕負OFF銆丗ATAL銆丒RROR銆乄ARN銆両NFO銆丏EBUG銆丄LL鎴栬呮偍瀹氫箟鐨勭駭鍒侺og4j寤鴻鍙嬌鐢ㄥ洓涓駭鍒紝浼樺厛綰т粠楂樺埌浣庡垎鍒槸ERROR銆乄ARN銆両NFO銆丏EBUG銆傞氳繃鍦ㄨ繖閲屽畾涔夌殑綰у埆錛屾偍鍙互鎺у埗鍒板簲鐢ㄧ▼搴忎腑鐩稿簲綰у埆鐨勬棩蹇椾俊鎭殑寮鍏熾傛瘮濡傚湪榪欓噷瀹氫箟浜咺NFO綰у埆錛屽垯搴旂敤紼嬪簭涓墍鏈塂EBUG綰у埆鐨勬棩蹇椾俊鎭皢涓嶈鎵撳嵃鍑烘潵銆?appenderName灝辨槸鎸囧畾鏃ュ織淇℃伅杈撳嚭鍒板摢涓湴鏂廣傛偍鍙互鍚屾椂鎸囧畾澶氫釜杈撳嚭鐩殑鍦般?
銆銆2.閰嶇疆鏃ュ織淇℃伅杈撳嚭鐩殑鍦癆ppender錛屽叾璇硶涓猴細
銆銆log4j.appender.appenderName = fully.qualified.name.of.appender.class
銆銆log4j.appender.appenderName.option1 = value1
銆銆鈥?
銆銆log4j.appender.appenderName.option = valueN
銆銆鍏朵腑錛孡og4j鎻愪緵鐨刟ppender鏈変互涓嬪嚑縐嶏細
銆銆org.apache.log4j.ConsoleAppender錛堟帶鍒跺彴錛夛紝
銆銆org.apache.log4j.FileAppender錛堟枃浠訛級錛?
銆銆org.apache.log4j.DailyRollingFileAppender錛堟瘡澶╀駭鐢熶竴涓棩蹇楁枃浠訛級錛?BR>銆銆org.apache.log4j.RollingFileAppender錛堟枃浠跺ぇ灝忓埌杈炬寚瀹氬昂瀵哥殑鏃跺欎駭鐢熶竴涓柊鐨勬枃浠訛級錛?
銆銆org.apache.log4j.WriterAppender錛堝皢鏃ュ織淇℃伅浠ユ祦鏍煎紡鍙戦佸埌浠繪剰鎸囧畾鐨勫湴鏂癸級
銆銆3.閰嶇疆鏃ュ織淇℃伅鐨勬牸寮忥紙甯冨眬錛夛紝鍏惰娉曚負錛?/P>
銆銆log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
銆銆log4j.appender.appenderName.layout.option1 = value1
銆銆鈥?
銆銆log4j.appender.appenderName.layout.option = valueN
銆銆鍏朵腑錛孡og4j鎻愪緵鐨刲ayout鏈変互涓嬪嚑縐嶏細
銆銆org.apache.log4j.HTMLLayout錛堜互HTML琛ㄦ牸褰㈠紡甯冨眬錛夛紝
銆銆org.apache.log4j.PatternLayout錛堝彲浠ョ伒媧誨湴鎸囧畾甯冨眬妯″紡錛夛紝
銆銆org.apache.log4j.SimpleLayout錛堝寘鍚棩蹇椾俊鎭殑綰у埆鍜屼俊鎭瓧絎︿覆錛夛紝
銆銆org.apache.log4j.TTCCLayout錛堝寘鍚棩蹇椾駭鐢熺殑鏃墮棿銆佺嚎紼嬨佺被鍒瓑絳変俊鎭級
銆銆Log4J閲囩敤綾諱技C璇█涓殑printf鍑芥暟鐨勬墦鍗版牸寮忔牸寮忓寲鏃ュ織淇℃伅錛屾墦鍗板弬鏁板涓嬶細 %m 杈撳嚭浠g爜涓寚瀹氱殑娑堟伅
銆銆%p 杈撳嚭浼樺厛綰э紝鍗矰EBUG錛孖NFO錛學ARN錛孍RROR錛孎ATAL
銆銆%r 杈撳嚭鑷簲鐢ㄥ惎鍔ㄥ埌杈撳嚭璇og淇℃伅鑰楄垂鐨勬縐掓暟
銆銆%c 杈撳嚭鎵灞炵殑綾葷洰錛岄氬父灝辨槸鎵鍦ㄧ被鐨勫叏鍚?
銆銆%t 杈撳嚭浜х敓璇ユ棩蹇椾簨浠剁殑綰跨▼鍚?
銆銆%n 杈撳嚭涓涓洖杞︽崲琛岀錛學indows騫沖彴涓衡淺r\n鈥濓紝Unix騫沖彴涓衡淺n鈥?
銆銆%d 杈撳嚭鏃ュ織鏃墮棿鐐圭殑鏃ユ湡鎴栨椂闂達紝榛樿鏍煎紡涓篒SO8601錛屼篃鍙互鍦ㄥ叾鍚庢寚瀹氭牸寮忥紝姣斿錛?d{yyy MMM dd HH:mm:ss,SSS}錛岃緭鍑虹被浼鹼細2002騫?0鏈?8鏃?22錛?0錛?8錛?21
銆銆%l 杈撳嚭鏃ュ織浜嬩歡鐨勫彂鐢熶綅緗紝鍖呮嫭綾葷洰鍚嶃佸彂鐢熺殑綰跨▼錛屼互鍙婂湪浠g爜涓殑琛屾暟銆備婦渚嬶細Testlog4.main(TestLog4.java:10)
銆銆浜屻佸湪浠g爜涓嬌鐢↙og4j
銆銆1.寰楀埌璁板綍鍣?/P>
銆銆浣跨敤Log4j錛岀涓姝ュ氨鏄幏鍙栨棩蹇楄褰曞櫒錛岃繖涓褰曞櫒灝嗚礋璐f帶鍒舵棩蹇椾俊鎭傚叾璇硶涓猴細
銆銆public static Logger getLogger( String name)
銆銆閫氳繃鎸囧畾鐨勫悕瀛楄幏寰楄褰曞櫒錛屽鏋滃繀瑕佺殑璇濓紝鍒欎負榪欎釜鍚嶅瓧鍒涘緩涓涓柊鐨勮褰曞櫒銆侼ame涓鑸彇鏈被鐨勫悕瀛楋紝姣斿錛?
銆銆static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )
銆銆2.璇誨彇閰嶇疆鏂囦歡
銆銆褰撹幏寰椾簡鏃ュ織璁板綍鍣ㄤ箣鍚庯紝絎簩姝ュ皢閰嶇疆Log4j鐜錛屽叾璇硶涓猴細
銆銆BasicConfigurator.configure ()錛?鑷姩蹇熷湴浣跨敤緙虹渷Log4j鐜銆?BR>銆銆PropertyConfigurator.configure ( String configFilename) 錛氳鍙栦嬌鐢↗ava鐨勭壒鎬ф枃浠剁紪鍐欑殑閰嶇疆鏂囦歡銆?BR>銆銆DOMConfigurator.configure ( String filename ) 錛氳鍙朮ML褰㈠紡鐨勯厤緗枃浠躲?/P>
銆銆3.鎻掑叆璁板綍淇℃伅錛堟牸寮忓寲鏃ュ織淇℃伅錛?/P>
銆銆褰撲笂涓や釜蹇呰姝ラ鎵ц瀹屾瘯錛屾偍灝卞彲浠ヨ交鏉懼湴浣跨敤涓嶅悓浼樺厛綰у埆鐨勬棩蹇楄褰曡鍙ユ彃鍏ュ埌鎮ㄦ兂璁板綍鏃ュ織鐨勪換浣曞湴鏂癸紝鍏惰娉曞涓嬶細
銆銆Logger.debug ( Object message ) ;
銆銆Logger.info ( Object message ) ;
銆銆Logger.warn ( Object message ) ;
銆銆Logger.error ( Object message ) ;
渚嬪瓙錛?BR>log4j.rootLogger=INFO,stdout,rolling
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %r [%t] %5p [%F:%L] - %m%n
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%d %r [%t] %5p [%F:%L] - %m%n
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.File=c:\woogo.log
#log4j.appender.rolling.File=/usr/local/jakarta-tomcat-5.0.25/logs/woogo.log
log4j.appender.rolling.MaxFileSize=5120KB
log4j.appender.rolling.MaxBackupIndex=10