鐩綍
涓轟簡浣跨敤鎴戜滑鍗沖皢瑕佸畨瑁呯殑鏃ュ織璁板綍宸ュ叿錛岃繕蹇呴』瑕佽緗搷浣滅幆澧冿紝鍙湁榪欐牱錛屽伐鍏鋒墠鑳界煡閬撲粠鍝噷鎵懼埌瀹冩墍闇瑕佺殑淇℃伅錛屽茍涓旀搷浣滅郴緇熺煡閬撲粠鍝噷鎵懼埌榪欎釜宸ュ叿銆傞偅涔堬紝鎬庢牱鍋氬憿錛熷疄闄呬笂錛屽畠瑕佹眰鏇存敼鎿嶄綔鐜銆傛垜鏈変竴浜涜繖鏂歸潰鐨勮祫鏍兼枃妗c?Configuring A Windows Working Environment 鍜?Configuring A Unix Working Environment.
浠?http://jakarta.apache.org/log4j/docs/download.html涓嬭澆log4j鍙戣鐗堛?
瑙e帇瀛樻。鏂囦歡鍒板悎閫傜殑鐩綍涓?/p>
娣誨姞鏂囦歡 dist/lib/log4j-1.2.6.jar 鍒?CLASSPATH 鐜鍙橀噺涓?
鏃ュ織璁板綍鍣?Logger)鏄棩蹇楀鐞嗙殑鏍稿績緇勪歡銆俵og4j鍏鋒湁5縐嶆甯哥駭鍒?Level)銆?鏃ュ織璁板綍鍣?Logger)鐨勫彲鐢ㄧ駭鍒?span class="strong">Level (涓嶅寘鎷嚜瀹氫箟綰у埆 Level)錛?浠ヤ笅鍐呭灝辨槸鎽樿嚜log4j API (http://jakarta.apache.org/log4j/docs/api/index.html):
static Level DEBUG
DEBUG Level鎸囧嚭緇嗙矑搴︿俊鎭簨浠跺璋冭瘯搴旂敤紼嬪簭鏄潪甯告湁甯姪鐨勩?/p>
static Level INFO
INFO level琛ㄦ槑 娑堟伅鍦ㄧ矖綺掑害綰у埆涓婄獊鍑哄己璋冨簲鐢ㄧ▼搴忕殑榪愯榪囩▼銆?
static Level WARN
WARN level琛ㄦ槑浼氬嚭鐜版綔鍦ㄩ敊璇殑鎯呭艦銆?/p>
static Level ERROR
ERROR level鎸囧嚭铏界劧鍙戠敓閿欒浜嬩歡錛屼絾浠嶇劧涓嶅獎鍝嶇郴緇熺殑緇х畫榪愯銆?/p>
static Level FATAL
FATAL level鎸囧嚭姣忎釜涓ラ噸鐨勯敊璇簨浠跺皢浼氬鑷村簲鐢ㄧ▼搴忕殑閫鍑恒?/p>
鍙﹀錛岃繕鏈変袱涓彲鐢ㄧ殑鐗瑰埆鐨勬棩蹇楄褰曠駭鍒? (浠ヤ笅鎻忚堪鏉ヨ嚜log4j API http://jakarta.apache.org/log4j/docs/api/index.html):
static Level ALL
ALL Level鏄渶浣庣瓑綰х殑錛岀敤浜庢墦寮鎵鏈夋棩蹇楄褰曘?
static Level OFF
OFF Level鏄渶楂樼瓑綰х殑錛岀敤浜庡叧闂墍鏈夋棩蹇楄褰曘?
鏃ュ織璁板綍鍣紙Logger錛夌殑琛屼負鏄垎絳夌駭鐨勩傚涓嬭〃鎵紺猴細
鏈夊緢澶氭柟娉曞彲浠ュ垱寤轟竴涓棩蹇楄褰曞櫒錛圠ogger錛夛紝涓嬮潰鏂規硶鍙互鍙栧洖root鏃ュ織璁板綍鍣?
Logger logger = Logger.getRootLogger(); |
Logger logger = Logger.getLogger("MyLogger"); |
姣旇緝甯哥敤鐨勭敤娉曪紝灝辨槸鏍規嵁綾誨悕瀹炰緥鍖栦竴涓潤鎬佺殑鍏ㄥ眬鏃ュ織璁板綍鍣?
static Logger logger = Logger.getLogger(test.class); |
鎵鏈夎繖浜涘垱寤虹殑鍙?logger"鐨勬棩蹇楄褰曞櫒閮藉彲浠ョ敤涓嬮潰鏂規硶璁劇疆綰у埆:
logger.setLevel((Level)Level.WARN); |
Appender 鎺у埗鏃ュ織鎬庢牱杈撳嚭銆備笅闈㈠垪鍑轟竴浜涘彲鐢ㄧ殑Appender(log4j API涓墍鎻忚堪鐨?http://jakarta.apache.org/log4j/docs/api/index.html):
ConsoleAppender:浣跨敤鐢ㄦ埛鎸囧畾鐨勫竷灞(layout) 杈撳嚭鏃ュ織浜嬩歡鍒癝ystem.out鎴栬?System.err銆傞粯璁ょ殑鐩爣鏄疭ystem.out銆?
DailyRollingFileAppender 鎵╁睍FileAppender錛屽洜姝ゅ涓棩蹇楁枃浠跺彲浠ヤ互涓涓敤鎴烽夊畾鐨勯鐜囪繘琛屽驚鐜棩蹇楄褰曘?
FileAppender 鎶婃棩蹇椾簨浠跺啓鍏ヤ竴涓枃浠?
RollingFileAppender 鎵╁睍FileAppender澶囦喚瀹歸噺杈懼埌涓瀹氬ぇ灝忕殑鏃ュ織鏂囦歡銆?/p>
WriterAppender鏍規嵁鐢ㄦ埛鐨勯夋嫨鎶婃棩蹇椾簨浠跺啓鍏ュ埌Writer鎴栬匫utputStream銆?
SMTPAppender 褰撶壒瀹氱殑鏃ュ織浜嬩歡鍙戠敓鏃訛紝涓鑸槸鎸囧彂鐢熼敊璇垨鑰呴噸澶ч敊璇椂錛屽彂閫佷竴灝侀偖浠躲?
SocketAppender 緇欒繙紼嬫棩蹇楁湇鍔″櫒錛堥氬父鏄綉緇滃鎺ュ瓧鑺傜偣錛夊彂閫佹棩蹇椾簨浠訛紙LoggingEvent錛夊璞°?/p>
SocketHubAppender 緇欒繙紼嬫棩蹇楁湇鍔″櫒緹ょ粍錛堥氬父鏄綉緇滃鎺ュ瓧鑺傜偣錛夊彂閫佹棩蹇椾簨浠訛紙LoggingEvent錛夊璞°?/p>
SyslogAppender緇欒繙紼嬪紓姝ユ棩蹇楄褰曠殑鍚庡彴綺劇伒紼嬪簭(daemon)鍙戦佹秷鎭?
TelnetAppender 涓涓笓鐢ㄤ簬鍚戝彧璇葷綉緇滃鎺ュ瓧鍙戦佹秷鎭殑log4j appender銆?
榪樺彲浠ュ疄鐜?Appender 鎺ュ彛錛屽垱寤轟互鑷繁鐨勬柟寮忚繘琛屾棩蹇楄緭鍑虹殑Appender銆?
ConsoleAppender鍙互鐢ㄨ繖縐嶆柟寮忓垱寤猴細
ConsoleAppender appender = new ConsoleAppender(new PatternLayout()); |
鍒涘緩浜嗕竴涓帶鍒跺彴appender錛屽叿鏈変竴涓粯璁ょ殑PatternLayout銆傚畠浣跨敤浜嗛粯璁ょ殑System.out 杈撳嚭銆?
FileAppender appender = null; |
FileAppender(Layout layout, String filename) |
FileAppender(Layout layout, String filename, boolean append) |
榪欎釜鏋勯犲嚱鏁拌繕鍙互閫夋嫨鏄惁瀵規寚瀹氱殑鏂囦歡榪涜榪藉姞鐨勬柟寮忚緭鍑恒傚鏋滄病鏈夋寚瀹氬鹼紝閭d箞榛樿鐨勬柟寮忓氨鏄拷鍔犮?
WriterAppender appender = null; |
榪欓噷鏄竴涓潪甯哥畝鍗曠殑渚嬪瓙錛岀▼搴忓疄鐜頒簡SimpleLayout鍜孎ileAppender:
import org.apache.log4j.Level; |
浣犲彲浠ヤ笅杞? simpandfile.java銆?榪樺彲浠ユ煡鐪嬪畠鐨勮緭鍑猴細 output1.txt.
榪欓噷鏄竴涓潪甯哥畝鍗曠殑渚嬪瓙錛岀▼搴忓疄鐜頒簡 HTMLLayout鍜學riterAppender:
import java.io.*; |
浣犲彲浠ヤ笅杞? simpandfile.java. 榪樺彲浠ユ煡鐪嬪畠鐨勮緭鍑猴細output1.txt.
榪欓噷鏄竴涓潪甯哥畝鍗曠殑渚嬪瓙錛岀▼搴忓疄鐜頒簡PatternLayout鍜孋onsoleAppender:
import org.apache.log4j.Level; |
浣犲彲浠ヤ笅杞?simpandfile.java. 榪樺彲浠ユ煡鐪嬪畠鐨勮緭鍑猴細 output2.txt.
<?xml version="1.0" encoding="UTF-8" ?> |
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender"> |
<root> |
DOMConfigurator.configure("configurationfile.xml"); |
DOMConfigurator 鐢ㄤ竴媯礑OM鏍戞潵鍒濆鍖杔og4j鐜銆傝繖閲屾槸紺轟緥涓殑XML閰嶇疆鏂囦歡錛?/a>plainlog4jconfig.xml銆傝繖閲屾槸鎵ц璇ラ厤緗枃浠剁殑紼嬪簭: files/externalxmltest.java:
import org.apache.log4j.Logger; |
榪欓噷鏄竴涓疄鐜板甫鏈?span class="emphasis">PatternLayout鐨?span class="emphasis">FileAppender鐨勬棩蹇楄褰曞櫒Logger鐨刋ML閰嶇疆鏂囦歡:
<?xml version="1.0" encoding="UTF-8" ?> |
浣犲彲浠ヤ粠榪欓噷涓嬭澆紺轟緥: xmllog4jconfig2.xml銆?鎯寵寰楀埌鏇村鐨勪嬌鐢╔ML鏂囦歡閰嶇疆log4j鐜鐨勪緥瀛愶紝璇鋒煡鐪媗og4j鍙戣鐗堢殑鐩綍src/java/org/apache/log4j/xml/examples/ 銆?
榪欏氨鏄笂闈㈣璁虹殑鏂囨湰鏂囦歡褰㈠紡鐨勯厤緗枃浠?
# initialise root logger with level DEBUG and call it BLAH |
浠庤繖閲屽彲浠ヤ笅杞? plainlog4jconfig.txt銆傝繖灝辨槸鎵ц璇ラ厤緗枃浠剁殑紼嬪簭:
import org.apache.log4j.Logger; |
浣犲彲浠ヤ笅杞戒嬌鐢ㄨ閰嶇疆鏂囦歡鐨勭ず渚嬶細 externalplaintest.java銆傛兂瑕佽幏寰楁洿澶氱殑浣跨敤鏂囨湰鏂囦歡閰嶇疆log4j鐜鐨勪緥瀛愶紝璇鋒煡鐪媗og4j鍙戣鐗堜腑鐨勭洰褰昬xamples銆?
浣跨敤澶栭儴閰嶇疆鏂囦歡鐨勪緥瀛愬氨綆鍗曠殑璁ㄨ鍒拌繖閲岋紝鐜板湪搴旇鍙互鑲畾浣犲凡緇忔湁鑳藉姏鐙珛瀛︿範鏇村鐨刲og4j鍙戣鐗堝拰嫻嬭瘯鐗堜腑鎻愪緵鐨勪緥瀛愩?/p>
http://jakarta.apache.org/log4j/docs/manual.html
log4j鐨勭畝鏄庝粙緇?- Ceki G- 2002騫?鏈?/p>
http://www.vipan.com/htdocs/log4jhelp.html
涓嶈鐢⊿ystem.out.println錛佺敤Log4j - Vipan Singla
http://www.opensymphony.com/guidelines/logging.jsp
LOG4J / OpenSymphony鏃ュ織璁板綍鍏ラ棬
http://builder.com.com/article.jhtml?id=u00820020124kev01.htm
緇欎綘鐨凧ava搴旂敤紼嬪簭娣誨姞鏃ュ織璁板綍 - Kevin Brown