log4j 璇﹁В(浜
鍦ㄥ疄闄呯紪绋嬫椂锛岃浣縇og4j鐪熸鍦ㄧ郴缁熶腑杩愯浜嬪厛杩樿瀵归厤缃枃浠惰繘琛屽畾涔夈€傚畾涔夋楠ゅ氨鏄Logger銆丄ppender鍙奓ayout鐨勫垎鍒娇鐢ㄣ€侺og4j鏀寔涓ょ閰嶇疆鏂囦欢鏍煎紡锛屼竴绉嶆槸XML鏍煎紡鐨勬枃浠讹紝涓€绉嶆槸java properties锛坘ey=value锛夈€怞ava鐗规€ф枃浠讹紙閿?鍊硷級銆戙€傦紙杩欓噷鍙鏄巔roperties鏂囦欢锛?
1銆侀厤缃牴Logger
聽聽聽聽聽聽聽 鍏惰娉曚负锛?
聽聽聽聽聽聽聽 log4j.rootLogger = [ level ] , appenderName1, appenderName2, 鈥?
聽聽聽聽聽聽聽 level : 鏄棩蹇楄褰曠殑浼樺厛绾э紝鍒嗕负OFF銆丗ATAL銆丒RROR銆乄ARN銆両NFO銆丏EBUG銆丄LL鎴栬€呮偍瀹氫箟鐨勭骇鍒€侺og4j寤鸿鍙娇鐢ㄥ洓涓骇鍒紝浼樺厛绾т粠楂樺埌浣庡垎鍒槸ERROR銆乄ARN銆両NFO銆丏EBUG銆傞€氳繃鍦ㄨ繖閲屽畾涔夌殑绾у埆锛屾偍鍙互鎺у埗鍒板簲鐢ㄧ▼搴忎腑鐩稿簲绾у埆鐨勬棩蹇椾俊鎭殑寮€鍏炽€傛瘮濡傚湪杩欓噷瀹?涔変簡INFO绾у埆锛屽垯搴旂敤绋嬪簭涓墍鏈塂EBUG绾у埆鐨勬棩蹇椾俊鎭皢涓嶈鎵撳嵃鍑烘潵銆俛ppenderName:灏辨槸鎸囧畾鏃ュ織淇℃伅杈撳嚭鍒板摢涓湴鏂广€傛偍鍙互鍚屾椂鎸囧畾澶氫釜杈撳嚭鐩殑鍦般€?
聽聽聽聽聽聽 渚嬪锛歭og4j.rootLogger锛漣nfo,A1,B2,C3
2銆侀厤缃棩蹇椾俊鎭緭鍑虹洰鐨勫湴
聽聽聽聽聽聽聽 鍏惰娉曚负锛?
聽聽聽聽聽聽聽 log4j.appender.appenderName = fully.qualified.name.of.appender.class聽聽聽 //
聽聽聽聽聽聽聽 "fully.qualified.name.of.appender.class" 鍙互鎸囧畾涓嬮潰浜斾釜鐩殑鍦颁腑鐨勪竴涓細
聽聽聽聽聽聽聽聽聽聽聽 1.org.apache.log4j.ConsoleAppender锛堟帶鍒跺彴锛?
聽聽聽聽聽聽聽聽聽聽聽 2.org.apache.log4j.FileAppender锛堟枃浠讹級
聽聽聽聽聽聽聽聽聽聽聽 3.org.apache.log4j.DailyRollingFileAppender锛堟瘡澶╀骇鐢熶竴涓棩蹇楁枃浠讹級
聽聽聽聽聽聽聽聽聽聽聽 4.org.apache.log4j.RollingFileAppender锛堟枃浠跺ぇ灏忓埌杈炬寚瀹氬昂瀵哥殑鏃跺€欎骇鐢熶竴涓柊鐨勬枃浠讹級
聽聽聽聽聽聽聽聽聽聽聽 5.org.apache.log4j.WriterAppender锛堝皢鏃ュ織淇℃伅浠ユ祦鏍煎紡鍙戦€佸埌浠绘剰鎸囧畾鐨勫湴鏂癸級
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 1.ConsoleAppender閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Threshold=WARN:鎸囧畾鏃ュ織娑堟伅鐨勮緭鍑烘渶浣庡眰娆°€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ImmediateFlush=true:榛樿鍊兼槸true,鎰忚皳鐫€鎵€鏈夌殑娑堟伅閮戒細琚珛鍗宠緭鍑恒€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Target=System.err锛氶粯璁ゆ儏鍐典笅鏄細System.out,鎸囧畾杈撳嚭鎺у埗鍙?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2.FileAppender 閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Threshold=WARN:鎸囧畾鏃ュ織娑堟伅鐨勮緭鍑烘渶浣庡眰娆°€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ImmediateFlush=true:榛樿鍊兼槸true,鎰忚皳鐫€鎵€鏈夌殑娑堟伅閮戒細琚珛鍗宠緭鍑恒€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 File=mylog.txt:鎸囧畾娑堟伅杈撳嚭鍒癿ylog.txt鏂囦欢銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Append=false:榛樿鍊兼槸true,鍗冲皢娑堟伅澧炲姞鍒版寚瀹氭枃浠朵腑锛宖alse鎸囧皢娑堟伅瑕嗙洊鎸囧畾鐨勬枃浠跺唴瀹广€?
聽聽聽聽聽聽聽聽聽聽聽聽聽 3.DailyRollingFileAppender 閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Threshold=WARN:鎸囧畾鏃ュ織娑堟伅鐨勮緭鍑烘渶浣庡眰娆°€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ImmediateFlush=true:榛樿鍊兼槸true,鎰忚皳鐫€鎵€鏈夌殑娑堟伅閮戒細琚珛鍗宠緭鍑恒€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 File=mylog.txt:鎸囧畾娑堟伅杈撳嚭鍒癿ylog.txt鏂囦欢銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Append=false:榛樿鍊兼槸true,鍗冲皢娑堟伅澧炲姞鍒版寚瀹氭枃浠朵腑锛宖alse鎸囧皢娑堟伅瑕嗙洊鎸囧畾鐨勬枃浠跺唴瀹广€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 DatePattern=''.''yyyy-ww:姣忓懆婊氬姩涓€娆℃枃浠讹紝鍗虫瘡鍛ㄤ骇鐢熶竴涓柊鐨勬枃浠躲€傚綋鐒朵篃鍙互鎸囧畾鎸夋湀銆佸懆銆佸ぉ銆佹椂鍜屽垎銆傚嵆瀵瑰簲鐨勬牸寮忓涓嬶細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 1)''.''yyyy-MM: 姣忔湀
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2)''.''yyyy-ww: 姣忓懆聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 3)''.''yyyy-MM-dd: 姣忓ぉ
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 4)''.''yyyy-MM-dd-a: 姣忓ぉ涓ゆ
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 5)''.''yyyy-MM-dd-HH: 姣忓皬鏃?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 6)''.''yyyy-MM-dd-HH-mm: 姣忓垎閽?
聽聽聽聽聽聽聽聽聽聽聽聽聽 4.RollingFileAppender 閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Threshold=WARN:鎸囧畾鏃ュ織娑堟伅鐨勮緭鍑烘渶浣庡眰娆°€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ImmediateFlush=true:榛樿鍊兼槸true,鎰忚皳鐫€鎵€鏈夌殑娑堟伅閮戒細琚珛鍗宠緭鍑恒€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 File=mylog.txt:鎸囧畾娑堟伅杈撳嚭鍒癿ylog.txt鏂囦欢銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Append=false:榛樿鍊兼槸true,鍗冲皢娑堟伅澧炲姞鍒版寚瀹氭枃浠朵腑锛宖alse鎸囧皢娑堟伅瑕嗙洊鎸囧畾鐨勬枃浠跺唴瀹广€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 MaxFileSize=100KB: 鍚庣紑鍙互鏄疜B, MB 鎴栬€呮槸 GB. 鍦ㄦ棩蹇楁枃浠跺埌杈捐澶у皬鏃讹紝灏嗕細鑷姩婊氬姩锛屽嵆灏嗗師鏉ョ殑鍐呭绉诲埌mylog.log.1鏂囦欢銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 MaxBackupIndex=2:鎸囧畾鍙互浜х敓鐨勬粴鍔ㄦ枃浠剁殑鏈€澶ф暟銆?
3銆侀厤缃棩蹇椾俊鎭殑鏍煎紡
聽聽聽聽聽聽聽聽聽 鍏惰娉曚负锛?
銆€銆€1). log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 "fully.qualified.name.of.layout.class" 鍙互鎸囧畾涓嬮潰4涓牸寮忎腑鐨勪竴涓細
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 1.org.apache.log4j.HTMLLayout锛堜互HTML琛ㄦ牸褰㈠紡甯冨眬锛夛紝
銆€銆€聽聽聽聽聽聽聽聽 2.org.apache.log4j.PatternLayout锛堝彲浠ョ伒娲诲湴鎸囧畾甯冨眬妯″紡锛夛紝
銆€銆€聽聽聽聽聽聽聽聽 3.org.apache.log4j.SimpleLayout锛堝寘鍚棩蹇椾俊鎭殑绾у埆鍜屼俊鎭瓧绗︿覆锛夛紝
銆€銆€聽聽聽聽聽聽聽聽 4.org.apache.log4j.TTCCLayout锛堝寘鍚棩蹇椾骇鐢熺殑鏃堕棿銆佺嚎绋嬨€佺被鍒瓑绛変俊鎭級
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 1.HTMLLayout 閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LocationInfo=true:榛樿鍊兼槸false,杈撳嚭java鏂囦欢鍚嶇О鍜岃鍙?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Title=my app file: 榛樿鍊兼槸 Log4J Log Messages.
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2.PatternLayout 閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ConversionPattern=%m%n :鎸囧畾鎬庢牱鏍煎紡鍖栨寚瀹氱殑娑堟伅銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 3.XMLLayout聽聽聽 閫夐」
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LocationInfo=true:榛樿鍊兼槸false,杈撳嚭java鏂囦欢鍜岃鍙?
聽聽聽聽聽聽聽聽聽 2). log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
聽聽聽聽聽聽聽聽聽聽聽聽 杩欓噷闇€瑕佽鏄庣殑灏辨槸鏃ュ織淇℃伅鏍煎紡涓嚑涓鍙锋墍浠h〃鐨勫惈涔夛細
銆€銆€聽聽聽聽聽聽聽聽聽聽 锛峏鍙? X淇℃伅杈撳嚭鏃跺乏瀵归綈锛?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %p: 杈撳嚭鏃ュ織淇℃伅浼樺厛绾э紝鍗矰EBUG锛孖NFO锛學ARN锛孍RROR锛孎ATAL,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %d: 杈撳嚭鏃ュ織鏃堕棿鐐圭殑鏃ユ湡鎴栨椂闂达紝榛樿鏍煎紡涓篒SO8601锛屼篃鍙互鍦ㄥ叾鍚庢寚瀹氭牸寮忥紝姣斿锛?d{yyy MMM dd HH:mm:ss,SSS}锛岃緭鍑虹被浼硷細2002骞?0鏈?8鏃?22锛?0锛?8锛?21
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %r: 杈撳嚭鑷簲鐢ㄥ惎鍔ㄥ埌杈撳嚭璇og淇℃伅鑰楄垂鐨勬绉掓暟
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %c: 杈撳嚭鏃ュ織淇℃伅鎵€灞炵殑绫荤洰锛岄€氬父灏辨槸鎵€鍦ㄧ被鐨勫叏鍚?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %t: 杈撳嚭浜х敓璇ユ棩蹇椾簨浠剁殑绾跨▼鍚?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %l: 杈撳嚭鏃ュ織浜嬩欢鐨勫彂鐢熶綅缃紝鐩稿綋浜?C.%M(%F:%L)鐨勭粍鍚?鍖呮嫭绫荤洰鍚嶃€佸彂鐢熺殑绾跨▼锛屼互鍙婂湪浠g爜涓殑琛屾暟銆備妇渚嬶細Testlog4.main(TestLog4.java:10)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %x: 杈撳嚭鍜屽綋鍓嶇嚎绋嬬浉鍏宠仈鐨凬DC(宓屽璇婃柇鐜),灏ゅ叾鐢ㄥ埌鍍廽ava servlets杩欐牱鐨勫瀹㈡埛澶氱嚎绋嬬殑搴旂敤涓€?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %%: 杈撳嚭涓€涓?%"瀛楃
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %F: 杈撳嚭鏃ュ織娑堟伅浜х敓鏃舵墍鍦ㄧ殑鏂囦欢鍚嶇О
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %L: 杈撳嚭浠g爜涓殑琛屽彿
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %m: 杈撳嚭浠g爜涓寚瀹氱殑娑堟伅,浜х敓鐨勬棩蹇楀叿浣撲俊鎭?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %n: 杈撳嚭涓€涓洖杞︽崲琛岀锛學indows骞冲彴涓?
"锛孶nix骞冲彴涓?
"杈撳嚭鏃ュ織淇℃伅鎹㈣
聽聽聽聽聽聽聽聽聽聽聽聽聽 鍙互鍦?涓庢ā寮忓瓧绗︿箣闂村姞涓婁慨楗扮鏉ユ帶鍒跺叾鏈€灏忓搴︺€佹渶澶у搴︺€佸拰鏂囨湰鐨勫榻愭柟寮忋€傚锛?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 1)%20c锛氭寚瀹氳緭鍑篶ategory鐨勫悕绉帮紝鏈€灏忕殑瀹藉害鏄?0锛屽鏋渃ategory鐨勫悕绉板皬浜?0鐨勮瘽锛岄粯璁ょ殑鎯呭喌涓嬪彸瀵归綈銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 2)%-20c:鎸囧畾杈撳嚭category鐨勫悕绉帮紝鏈€灏忕殑瀹藉害鏄?0锛屽鏋渃ategory鐨勫悕绉板皬浜?0鐨勮瘽锛?-"鍙锋寚瀹氬乏瀵归綈銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 3)%.30c:鎸囧畾杈撳嚭category鐨勫悕绉帮紝鏈€澶х殑瀹藉害鏄?0锛屽鏋渃ategory鐨勫悕绉板ぇ浜?0鐨勮瘽锛屽氨浼氬皢宸﹁竟澶氬嚭鐨勫瓧绗︽埅鎺夛紝浣嗗皬浜?0鐨勮瘽涔熶笉浼氭湁绌烘牸銆?
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 4)%20.30c:濡傛灉category鐨勫悕绉板皬浜?0灏辫ˉ绌烘牸锛屽苟涓斿彸瀵归綈锛屽鏋滃叾鍚嶇О闀夸簬30瀛楃锛屽氨浠庡乏杈逛氦杩滈攢鍑虹殑瀛楃鎴帀
聽
聽
聽
姣旇緝璇︾粏鐨勪緥瀛?/p>
聽
log4j.rootLogger=INFO,consoleAppender,logfile,MAIL
log4j.addivity.org.apache=true
#ConsoleAppender锛屾帶鍒跺彴杈撳嚭
#FileAppender锛屾枃浠舵棩蹇楄緭鍑?br>#SMTPAppender锛屽彂閭欢杈撳嚭鏃ュ織
#SocketAppender锛孲ocket鏃ュ織
#NTEventLogAppender锛學indow NT鏃ュ織
#SyslogAppender锛?br>#JMSAppender锛?br>#AsyncAppender锛?br>#NullAppender
#鏂囦欢杈撳嚭锛歊ollingFileAppender
#log4j.rootLogger = INFO,logfile
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appender.logfile.Threshold = INFO聽聽
# 杈撳嚭浠ヤ笂鐨処NFO淇℃伅
log4j.appender.logfile.File = INFO_log.html聽聽聽聽
#淇濆瓨log鏂囦欢璺緞
log4j.appender.logfile.Append = true聽聽聽
# 榛樿涓簍rue锛屾坊鍔犲埌鏈熬锛宖alse鍦ㄦ瘡娆″惎鍔ㄦ椂杩涜瑕嗙洊
log4j.appender.logfile.MaxFileSize = 1MB
# 涓€涓猯og鏂囦欢鐨勫ぇ灏忥紝瓒呰繃杩欎釜澶у皬灏卞張浼氱敓鎴?涓棩蹇?# KB 锛孧B锛孏B
log4j.appender.logfile.MaxBackupIndex = 3聽聽
# 鏈€澶氫繚瀛?涓枃浠跺浠?
log4j.appender.logfile.layout = org.apache.log4j.HTMLLayout
# 杈撳嚭鏂囦欢鐨勬牸寮?
log4j.appender.logfile.layout.LocationInfo = true
#鏄惁鏄剧ず绫诲悕鍜岃鏁?br>log4j.appender.logfile.layout.Title =title:\u63d0\u9192\u60a8\uff1a\u7cfb\u7edf\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8bef
#html椤甸潰鐨?< title >
############################## SampleLayout ####################################
# log4j.appender.logfile.layout = org.apache.log4j.SampleLayout
############################## PatternLayout ###################################
# log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
# log4j.appender.logfile.layout.ConversionPattern =% d % p [ % c] -聽聽 % m % n % d
############################## XMLLayout #######################################
# log4j.appender.logfile.layout = org.apache.log4j.XMLLayout
# log4j.appender.logfile.layout.LocationInfo = true #鏄惁鏄剧ず绫诲悕鍜岃鏁?br>############################## TTCCLayout ######################################
# log4j.appender.logfile.layout = org.apache.log4j.TTCCLayout
# log4j.appender.logfile.layout.DateFormat = ISO8601
#NULL, RELATIVE, ABSOLUTE, DATE or ISO8601.
# log4j.appender.logfile.layout.TimeZoneID = GMT - 8 : 00
# log4j.appender.logfile.layout.CategoryPrefixing = false ##榛樿涓簍rue 鎵撳嵃绫诲埆鍚?br># log4j.appender.logfile.layout.ContextPrinting = false ##榛樿涓簍rue 鎵撳嵃涓婁笅鏂囦俊鎭?br># log4j.appender.logfile.layout.ThreadPrinting = false ##榛樿涓簍rue 鎵撳嵃绾跨▼鍚?br># 鎵撳嵃淇℃伅濡備笅锛?br>#2007 - 09 - 13聽聽 14 : 45 : 39 , 765 [http - 8080 - 1 ] ERROR com.poxool.test.test - error鎴愬姛鍏抽棴閾炬帴
###############################################################################
#姣忓ぉ鏂囦欢鐨勮緭鍑猴細DailyRollingFileAppender
#log4j.rootLogger = INFO,errorlogfile
log4j.appender.errorlogfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorlogfile.Threshold = ERROR
log4j.appender.errorlogfile.File = ../logs/ERROR_log
log4j.appender.errorlogfile.Append = true
#榛樿涓簍rue锛屾坊鍔犲埌鏈熬锛宖alse鍦ㄦ瘡娆″惎鍔ㄦ椂杩涜瑕嗙洊
log4j.appender.errorlogfile.ImmediateFlush = true聽聽
#鐩存帴杈撳嚭锛屼笉杩涜缂撳瓨
# ' . ' yyyy - MM: 姣忎釜鏈堟洿鏂颁竴涓猯og鏃ュ織
# ' . ' yyyy - ww: 姣忎釜鏄熸湡鏇存柊涓€涓猯og鏃ュ織
# ' . ' yyyy - MM - dd: 姣忓ぉ鏇存柊涓€涓猯og鏃ュ織
# ' . ' yyyy - MM - dd - a: 姣忓ぉ鐨勫崍澶滃拰姝e崍鏇存柊涓€涓猯og鏃ュ織
# ' . ' yyyy - MM - dd - HH: 姣忓皬鏃舵洿鏂颁竴涓猯og鏃ュ織
# ' . ' yyyy - MM - dd - HH - mm: 姣忓垎閽熸洿鏂颁竴涓猯og鏃ュ織
log4j.appender.errorlogfile.DatePattern = ' . ' yyyy - MM - dd ' .log '
#鏂囦欢鍚嶇О鐨勬牸寮?br>log4j.appender.errorlogfile.layout = org.apache.log4j.PatternLayout
log4j.appender.errorlogfile.layout.ConversionPattern =%d %p [ %c] -聽聽 %m %n %d
#鎺у埗鍙拌緭鍑猴細
#log4j.rootLogger = INFO,consoleAppender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.Threshold = ERROR
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern =%d %-5p %m %n
log4j.appender.consoleAppender.ImmediateFlush = true
# 鐩存帴杈撳嚭锛屼笉杩涜缂撳瓨
log4j.appender.consoleAppender.Target = System.err
# 榛樿鏄疭ystem.out鏂瑰紡杈撳嚭
#鍙戦€侀偖浠讹細SMTPAppender
#log4j.rootLogger = INFO,MAIL
log4j.appender.MAIL = org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold = INFO
log4j.appender.MAIL.BufferSize = 10
log4j.appender.MAIL.From = yourmail@gmail.com
log4j.appender.MAIL.SMTPHost = smtp.gmail.com
log4j.appender.MAIL.Subject = Log4J Message
log4j.appender.MAIL.To = yourmail@gmail.com
log4j.appender.MAIL.layout = org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern =%d - %c -%-4r [%t] %-5p %c %x - %m %n
#鏁版嵁搴擄細JDBCAppender
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL = jdbc:oracle:thin:@ 210.51 . 173.94 : 1521 :YDB
log4j.appender.DATABASE.driver = oracle.jdbc.driver.OracleDriver
log4j.appender.DATABASE.user = ydbuser
log4j.appender.DATABASE.password = ydbuser
log4j.appender.DATABASE.sql = INSERT INTO A1 (TITLE3) VALUES ( ' %d - %c %-5p %c %x - %m%n ' )
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern =% d -聽聽 % c -%- 4r [ % t] %- 5p % c % x -聽聽 % m % n
#鏁版嵁搴撶殑閾炬帴浼氭湁闂锛屽彲浠ラ噸鍐檕rg.apache.log4j.jdbc.JDBCAppender鐨刧etConnection() 浣跨敤鏁版嵁搴撻摼鎺ユ睜鍘诲緱閾炬帴锛屽彲浠ラ伩鍏峣nsert涓€鏉″氨閾炬帴涓€娆℃暟鎹簱