锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美色网站导航,亚洲视频在线观看视频,**爰片久久毛片http://www.aygfsteel.com/yaoleiyu/archive/2006/12/23/89636.htmlwinderwinderSat, 23 Dec 2006 02:37:00 GMThttp://www.aygfsteel.com/yaoleiyu/archive/2006/12/23/89636.htmlhttp://www.aygfsteel.com/yaoleiyu/comments/89636.htmlhttp://www.aygfsteel.com/yaoleiyu/archive/2006/12/23/89636.html#Feedback11http://www.aygfsteel.com/yaoleiyu/comments/commentRss/89636.htmlhttp://www.aygfsteel.com/yaoleiyu/services/trackbacks/89636.htmlvar聽(tīng)oldSubmit;
var聽(tīng)form聽(tīng)=聽(tīng)document.forms[0];
if(form聽(tīng)!=聽(tīng)null聽(tīng)&&聽(tīng)form聽(tīng)!=聽(tīng)'undefined'){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//澶囦喚submit鍑芥暟
聽(tīng)聽(tīng)聽(tīng)聽(tīng)form.oldSubmit聽(tīng)=聽(tīng)form.submit;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//瑕嗙洊submit鍑芥暟浠ュ疄鐜版嫤鎴?/span>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)form.submit聽(tīng)=聽(tīng)function聽(tīng)(){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
//鎻愪氦鍓嶅仛鐨勬搷浣?.
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)//鎺夊師鍑芥暟鏉ユ彁浜?/span>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)form.oldSubmit();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)
}

涓婇潰鐨勪唬鐮佸湪欏甸潰杞藉叆鏃跺厛鎵ц灝變細(xì)瀹炵幇鎷︽埅錛屽鏄劇ず鐨勭敤submit鎸夐挳鏉ユ彁浜ょ殑鍙互鐩戞帶onsubmit浜嬩歡鏉ュ疄鐜幫紝榪欎釜鏂規(guī)硶寰堝娌′粈涔堝お澶ч棶棰樸€?img src ="http://www.aygfsteel.com/yaoleiyu/aggbug/89636.html" width = "1" height = "1" />

winder 2006-12-23 10:37 鍙戣〃璇勮
]]>
綆€鍗曟湁鏁堢殑欏甸潰閲嶅畾鍚?/title><link>http://www.aygfsteel.com/yaoleiyu/archive/2006/12/06/85757.html</link><dc:creator>winder</dc:creator><author>winder</author><pubDate>Wed, 06 Dec 2006 01:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/yaoleiyu/archive/2006/12/06/85757.html</guid><wfw:comment>http://www.aygfsteel.com/yaoleiyu/comments/85757.html</wfw:comment><comments>http://www.aygfsteel.com/yaoleiyu/archive/2006/12/06/85757.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yaoleiyu/comments/commentRss/85757.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yaoleiyu/services/trackbacks/85757.html</trackback:ping><description><![CDATA[ <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">html</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">head</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">meta聽(tīng)</span> <span style="COLOR: #ff0000">http-equiv</span> <span style="COLOR: #0000ff">="Refresh"</span> <span style="COLOR: #ff0000">聽(tīng)content</span> <span style="COLOR: #0000ff">="0;URL=./pages/login.jsp"</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">head</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />聽(tīng)聽(tīng)聽(tīng)</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">body</span> <span style="COLOR: #0000ff">></</span> <span style="COLOR: #800000">body</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">html</span> <span style="COLOR: #0000ff">></span> </div> <img src ="http://www.aygfsteel.com/yaoleiyu/aggbug/85757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yaoleiyu/" target="_blank">winder</a> 2006-12-06 09:38 <a href="http://www.aygfsteel.com/yaoleiyu/archive/2006/12/06/85757.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬tomcat4.1涓嬪簲鐢ㄨ漿縐誨埌tomcat5寮曡搗鐨刪ibernate闂http://www.aygfsteel.com/yaoleiyu/archive/2006/11/30/84520.htmlwinderwinderThu, 30 Nov 2006 04:20:00 GMThttp://www.aygfsteel.com/yaoleiyu/archive/2006/11/30/84520.htmlhttp://www.aygfsteel.com/yaoleiyu/comments/84520.htmlhttp://www.aygfsteel.com/yaoleiyu/archive/2006/11/30/84520.html#Feedback0http://www.aygfsteel.com/yaoleiyu/comments/commentRss/84520.htmlhttp://www.aygfsteel.com/yaoleiyu/services/trackbacks/84520.htmlTomcat 5.5鎶奵ommon\lib涓嬬殑jta.jar鍒犻櫎鎺変簡(jiǎn)錛屾墍浠ョ敤hibernate鏃朵細(xì)鎶ava.lang.NoClassDefFoundError: javax/transaction/Synchronization鐨勯敊璇€?/p>

winder 2006-11-30 12:20 鍙戣〃璇勮
]]>
璁℃椂璺寵漿欏甸潰浠g爜http://www.aygfsteel.com/yaoleiyu/archive/2006/11/28/84062.htmlwinderwinderTue, 28 Nov 2006 07:15:00 GMThttp://www.aygfsteel.com/yaoleiyu/archive/2006/11/28/84062.htmlhttp://www.aygfsteel.com/yaoleiyu/comments/84062.htmlhttp://www.aygfsteel.com/yaoleiyu/archive/2006/11/28/84062.html#Feedback1http://www.aygfsteel.com/yaoleiyu/comments/commentRss/84062.htmlhttp://www.aygfsteel.com/yaoleiyu/services/trackbacks/84062.html <! DOCTYPE聽(tīng)HTML聽(tīng)PUBLIC聽(tīng)"-//W3C//DTD聽(tīng)HTML聽(tīng)4.01聽(tīng)Transitional//EN" >
< html >
< head >
< meta聽(tīng) http-equiv ="Content-Type" 聽(tīng)content ="text/html;聽(tīng)charset=gb2312" >
< title > 璁℃椂璺寵漿 </ title >
</ head >

< body聽(tīng) leftmargin ="0" 聽(tīng)topmargin ="0" >
< table聽(tīng) border ="0" 聽(tīng)align ="center" >
< tr >
< td >
< br >
< table聽(tīng) width ="194" 聽(tīng)height ="113" 聽(tīng)border ="0" 聽(tīng)cellpadding ="0" 聽(tīng)cellspacing ="0" 聽(tīng) >
聽(tīng)聽(tīng)
< tr >
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
< td >< a聽(tīng) href ="#" >< img聽(tīng) src ="images/ydzj.jpg" 聽(tīng)width ="397" 聽(tīng)height ="265" 聽(tīng)border ="0" ></ a ></ td >
聽(tīng)聽(tīng)
</ tr >
聽(tīng)聽(tīng)
< tr >
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
< td聽(tīng) align ="center" >< div聽(tīng) id ="view" ></ div ></ td >
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
< script >
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
var 聽(tīng)time聽(tīng) = 聽(tīng) 5000 ;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
var 聽(tīng)cc聽(tīng) = 聽(tīng)time / 1000 ;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
function 聽(tīng)count() {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
if (cc聽(tīng) > 聽(tīng) - 1 ) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
var 聽(tīng)vv聽(tīng) = 聽(tīng)document.getElementById('view');
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)vv.innerHTML聽(tīng)
= 聽(tīng)' < font聽(tīng)color = " #0066ff " 聽(tīng)size = " 2 " >< font聽(tīng)color = " red " > ' + cc + ' </ font > 縐掑悗榪涘叆鏂伴〉闈?img src="http://www.aygfsteel.com/images/dot.gif" /> </ font > ';
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)cc
-- ;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)setTimeout(
" count() " , 1000 ); // 1縐掑歡鏃?/span>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
else {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)goto();
// 榪涘叆鏂伴〉闈?/span>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
function 聽(tīng)goto() {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)location.href
= '#';
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)count();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
</ script >
聽(tīng)聽(tīng)
</ tr >
</ table >
</ td >
</ tr >
</ table >
</ body >
</ html >

winder 2006-11-28 15:15 鍙戣〃璇勮
]]>
Linux鏂扮敤鎴峰垱寤洪棶棰?/title><link>http://www.aygfsteel.com/yaoleiyu/archive/2006/11/16/81459.html</link><dc:creator>winder</dc:creator><author>winder</author><pubDate>Thu, 16 Nov 2006 02:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/yaoleiyu/archive/2006/11/16/81459.html</guid><wfw:comment>http://www.aygfsteel.com/yaoleiyu/comments/81459.html</wfw:comment><comments>http://www.aygfsteel.com/yaoleiyu/archive/2006/11/16/81459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yaoleiyu/comments/commentRss/81459.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yaoleiyu/services/trackbacks/81459.html</trackback:ping><description><![CDATA[1銆佸垱寤烘柊鐢ㄦ埛<br /><br />useradd聽(tīng) [username]<br /><br />2銆佹敼鍙樻枃浠舵墍灞炵粍<br /><br />chown聽(tīng) [username:groupname] [filename]<br /><br />3銆佹敼鍙樻枃浠舵潈闄?br /><br />chmod [777] [filename]<br /><br />chmod [u|g|o|a] [-r|-w|x] [filename]<br /><br />4銆佺幆澧冨彉閲忓鑷寸殑 -bash: command not found 闂瑙e喅<br /><br />淇涓葷洰褰曚笅.bash_profile鏂囦歡鍐呭<img src ="http://www.aygfsteel.com/yaoleiyu/aggbug/81459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yaoleiyu/" target="_blank">winder</a> 2006-11-16 10:33 <a href="http://www.aygfsteel.com/yaoleiyu/archive/2006/11/16/81459.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JavaScript瀹炵幇Maphttp://www.aygfsteel.com/yaoleiyu/archive/2006/07/28/60549.htmlwinderwinderFri, 28 Jul 2006 05:16:00 GMThttp://www.aygfsteel.com/yaoleiyu/archive/2006/07/28/60549.htmlhttp://www.aygfsteel.com/yaoleiyu/comments/60549.htmlhttp://www.aygfsteel.com/yaoleiyu/archive/2006/07/28/60549.html#Feedback0http://www.aygfsteel.com/yaoleiyu/comments/commentRss/60549.htmlhttp://www.aygfsteel.com/yaoleiyu/services/trackbacks/60549.html闃呰鍏ㄦ枃

winder 2006-07-28 13:16 鍙戣〃璇勮
]]>
絎旇鏈?NoteBook) 9.0.1 鐗瑰埆鐗?/title><link>http://www.aygfsteel.com/yaoleiyu/archive/2006/04/30/44179.html</link><dc:creator>winder</dc:creator><author>winder</author><pubDate>Sun, 30 Apr 2006 05:27:00 GMT</pubDate><guid>http://www.aygfsteel.com/yaoleiyu/archive/2006/04/30/44179.html</guid><wfw:comment>http://www.aygfsteel.com/yaoleiyu/comments/44179.html</wfw:comment><comments>http://www.aygfsteel.com/yaoleiyu/archive/2006/04/30/44179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yaoleiyu/comments/commentRss/44179.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yaoleiyu/services/trackbacks/44179.html</trackback:ping><description><![CDATA[絎旇鏈槸涓€涓俊鎭鐞嗙被杞歡錛岄泦鍐欏瓧鏉跨殑緙栬緫鍔熻兘鍜屾暟鎹簱鐨勭鐞嗗姛鑳戒簬涓€韜紝鐗瑰埆閫傚悎鏀惰棌澶ч噺鐨勬枃瀛楄祫鏂欙紝鏄釜浜轟俊鎭鐞嗙殑寰楀姏鍔╂墜銆?br /><a >http://www.sz1001.net/soft/1907.htm</a><img src ="http://www.aygfsteel.com/yaoleiyu/aggbug/44179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yaoleiyu/" target="_blank">winder</a> 2006-04-30 13:27 <a href="http://www.aygfsteel.com/yaoleiyu/archive/2006/04/30/44179.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>log4j鏃ュ織浣跨敤璇﹁В[杞琞http://www.aygfsteel.com/yaoleiyu/archive/2006/04/24/42788.htmlwinderwinderMon, 24 Apr 2006 02:34:00 GMThttp://www.aygfsteel.com/yaoleiyu/archive/2006/04/24/42788.htmlhttp://www.aygfsteel.com/yaoleiyu/comments/42788.htmlhttp://www.aygfsteel.com/yaoleiyu/archive/2006/04/24/42788.html#Feedback0http://www.aygfsteel.com/yaoleiyu/comments/commentRss/42788.htmlhttp://www.aygfsteel.com/yaoleiyu/services/trackbacks/42788.html 涓€銆佹榪?/strong>
聽(tīng)Log4j鏄疉pache鐨勪竴涓紑鏀炬簮浠g爜欏圭洰錛岄€氳繃浣跨敤Log4j錛屾垜浠彲浠ユ帶鍒舵棩蹇椾俊鎭緭閫佺殑鐩殑鍦版槸鎺у埗鍙般€佹枃浠?/font>

銆丟UI緇勪歡銆佺敋鑷蟲(chóng)槸濂楁帴鍙f湇鍔″櫒銆丯T鐨勪簨浠惰褰曞櫒銆乁NIX Syslog瀹堟姢榪涚▼絳夛紱鎴戜滑涔熷彲浠ユ帶鍒舵瘡涓€鏉℃棩蹇楃殑杈撳嚭鏍煎紡

錛涢€氳繃瀹氫箟姣忎竴鏉℃棩蹇椾俊鎭殑綰у埆錛屾垜浠兘澶熸洿鍔犵粏鑷村湴鎺у埗鏃ュ織鐨勭敓鎴愯繃紼嬨€傛渶浠や漢鎰熷叴瓚g殑灝辨槸錛岃繖浜涘彲浠ラ€氳繃涓€

涓厤緗枃浠舵潵鐏墊椿鍦拌繘琛岄厤緗紝鑰屼笉闇€瑕佷慨鏀瑰簲鐢ㄧ殑浠g爜銆?br />銆€銆€
銆€銆€姝ゅ錛岄€氳繃Log4j鍏朵粬璇█鎺ュ彛錛屾?zhèn)ㄥ彲浠ュ湪C銆丆++銆?Net銆丳L/SQL紼嬪簭涓嬌鐢↙og4j錛屽叾璇硶鍜岀敤娉曚笌鍦↗ava紼嬪簭涓?/font>

涓€鏍鳳紝浣垮緱澶氳璦€鍒嗗竷寮忕郴緇熷緱鍒頒竴涓粺涓€涓€鑷寸殑鏃ュ織緇勪歡妯″潡銆傝€屼笖錛岄€氳繃浣跨敤鍚勭絎笁鏂規(guī)墿灞曪紝鎮(zhèn)ㄥ彲浠ュ緢鏂逛究鍦板皢

Log4j闆嗘垚鍒癑2EE銆丣INI鐢氳嚦鏄疭NMP搴旂敤涓€?/font>

浜岋紝浣跨敤鍓嶇殑鍑嗗銆?br />聽(tīng)1銆佷笅杞絣og4j 鍦板潃涓猴細(xì)http://jakarta.apache.org/log4j/docs/download.html.
聽(tīng)2銆佷綘鍙兘瑕佺敤鍒扮殑jar鏂囦歡鏈夛細(xì)
聽(tīng)聽(tīng)濡傛灉闇€瑕佸皢鏃ュ織鍙戦€佸埌閭錛屽垯闇€瑕乯avamail API,JAF API (the JavaBeans Activation Framework)

涓嬭澆鍦板潃錛毬?tīng)聽(tīng)http://java.sun.com/products/javamail/
聽(tīng)http://java.sun.com/beans/glasgow/jaf.html
聽(tīng)聽(tīng)濡傛灉闇€瑕乯ms鐨勬敮鎸侊紝鍒欓渶瑕乯ms API 涓嬭澆鍦板潃涓猴細(xì)

http://java.sun.com/products/jms/vendors.html
涓夛紝 Log4j浠嬬粛
聽(tīng)Log4j鐢變笁涓噸瑕佺殑緇勪歡鏋勬垚錛氭棩蹇椾俊鎭殑浼樺厛綰?priority錛屾棩蹇椾俊鎭殑杈撳嚭鐩殑鍦癆ppender錛屾棩蹇椾俊鎭殑杈?/font>

鍑烘牸寮忥紙甯冨眬錛塴ayout銆?br />聽(tīng)1銆佹棩蹇楃殑浼樺厛綰э紝
聽(tīng)浠庝綆鍒伴珮錛屼緷嬈℃湁錛欴EBUG,INFO,WARN,ERROR,鍒嗗埆鐢ㄦ潵鎸囧畾榪欐潯鏃ュ織淇℃伅鐨勯噸瑕佺▼搴︼紱濡傛灉瀹氫箟浜?jiǎn)浜?jiǎn)杈撳叆鐨勭駭

鍒負(fù)INFO錛屽垯鍙湁絳変簬鍙?qiáng)楂樹(shù)簬杩欎釜珩斿埆鐨勬墠杩涜澶勭悊锛屾鏃稙畣杈撳叆INFO,WARN,ERROR銆傚€煎緱娉ㄦ剰鐨勬槸錛岀駭鍒腑榪樻湁涓や釜鍏?/font>

閿瓧錛?br />聽(tīng)ALL:鎵撳嵃鎵€鏈夌殑鏃ュ織錛?br />聽(tīng)OFF錛氬叧闂墍鏈夌殑鏃ュ織杈撳嚭銆?br />聽(tīng)
聽(tīng)2銆佽緭鍑虹 Appender

聽(tīng)log4j鎻愪緵浜?jiǎn)浠ヤ笅鍑牽U嶅父鐢ㄧ殑杈撳嚭鐩殑鍦幫細(xì)
聽(tīng)org.apache.log4j.ConsoleAppender錛屽皢鏃ュ織淇℃伅杈撳嚭鍒版帶鍒跺彴
聽(tīng)org.apache.log4j.FileAppender錛屽皢鏃ュ織淇℃伅杈撳嚭鍒頒竴涓枃浠?br />聽(tīng)org.apache.log4j.DailyRollingFileAppender錛屽皢鏃ュ織淇℃伅杈撳嚭鍒頒竴涓紝騫朵笖姣忓ぉ杈撳嚭鍒頒竴涓柊鐨勬棩蹇楁枃浠?

鎸夌収涓嶅悓鐨勯厤緗彲浠ュ畾涔夋瘡鏈堜竴涓棩蹇楁枃浠訛紝鎴栬€呮瘡鍛紝姣忓ぉ錛屾瘡灝忔椂錛屾瘡鍒嗛挓絳夎緭鍑轟竴涓柊鐨勬棩蹇楁枃浠躲€?br />聽(tīng)org.apache.log4j.RollingFileAppender錛屽皢鏃ュ織淇℃伅杈撳嚭鍒頒竴涓枃浠訛紝閫氳繃鎸囧畾鏂囦歡鐨勭殑灝哄錛屽綋鏂囦歡澶у皬

鍒拌揪鎸囧畾灝哄鐨勬椂鍊欎細(xì)鑷姩鎶婃枃浠舵敼鍚嶏紝濡傚悕涓篹xample.log鐨勬枃浠朵細(xì)鏀瑰悕涓篹xample.log.1錛屽悓鏃朵駭鐢熶竴涓柊鐨?/font>

example.log鏂囦歡銆傚鏋滄柊鐨勬枃浠跺啀嬈¤揪鍒版寚瀹氬昂瀵革紝鍙堜細(xì)鑷姩鎶婃枃浠舵敼鍚嶄負(fù)example.log.2錛屽悓鏃朵駭鐢熶竴涓猠xample.log

鏂囦歡銆備緷姝ょ被鎺紝鐩村埌example.log. MaxBackupIndex錛孧axBackupIndex鐨勫€煎彲鍦ㄩ厤緗枃浠朵腑瀹氫箟銆?br />聽(tīng)org.apache.log4j.WriterAppender錛屽皢鏃ュ織淇℃伅浠ユ祦鏍煎紡鍙戦€佸埌浠繪剰鎸囧畾鐨勫湴鏂廣€?br />聽(tīng)org.apache.log4j.jdbc.JDBCAppender錛岄€氳繃JDBC鎶婃棩蹇椾俊鎭緭鍑哄埌鏁版嵁搴撲腑銆?br />聽(tīng)org.apache.log4j.net.SMTPAppender,灝嗘棩蹇椾俊鎭互閭歡鐨勬柟寮忓彂閫佸埌鎸囧畾鐨勯偖綆便€?/font>

聽(tīng)3銆佽緭鍑烘牸寮忥紙甯冨眬錛塴ayout
聽(tīng)閫氳繃appender鍙互鎺у埗杈撳嚭鐨勭洰鐨勫湴錛岃€屽鏋滆鎺у埗杈撳嚭鐨勬牸寮忥紝灝卞彲閫氳繃log4j鐨刲ayout緇勪歡鏉ュ疄鐜般€傞€氳繃閰?/font>

緗枃浠跺畾涔変竴涓猘ppender鐨勮緭鍑烘牸寮忥紝Log4j鎻愪緵鐨勫竷灞€妯″紡鏈変互涓嬪嚑縐嶏細(xì)
聽(tīng)org.apache.log4j.ConsoleAppender錛岃緭鍑哄埌鎺у埗鍙?br />聽(tīng)org.apache.log4j.HTMLLayout錛屼互HTML琛ㄦ牸褰㈠紡甯冨眬
聽(tīng)org.apache.log4j.PatternLayout錛屽彲浠ョ伒媧誨湴鎸囧畾甯冨眬妯″紡
聽(tīng)org.apache.log4j.SimpleLayout錛屽寘鍚棩蹇椾俊鎭殑綰у埆鍜屼俊鎭瓧絎︿覆

聽(tīng)鍊煎緱涓€鎻愮殑鏄痮rg.apache.log4j.PatternLayout 浠attern鏂瑰紡鐨勫竷灞€錛屼嬌鐢≒attern鐨勬柟寮忔潵鎸囧畾甯冨眬銆?/font>

pattern 鐨勫弬鏁板涓嬶細(xì)ConversionPattern鍙傛暟鐨勬牸寮忓惈涔?br />聽(tīng)鏍煎紡鍚?鍚箟
聽(tīng)%c 杈撳嚭鏃ュ織淇℃伅鎵€灞炵殑綾葷殑鍏ㄥ悕
聽(tīng)%d 杈撳嚭鏃ュ織鏃墮棿鐐圭殑鏃ユ湡鎴栨椂闂達(dá)紝榛樿鏍煎紡涓篒SO8601錛屼篃鍙互鍦ㄥ叾鍚庢寚瀹氭牸寮忥紝姣斿錛?d{yyy-MM-dd

HH:mm:ss }錛岃緭鍑虹被浼鹼細(xì)2002-10-18- 22錛?0錛?8 ;姣斿 %d{HH:mm:ss,SSS} 鎴?%d{dd MMM yyyy HH:mm:ss,SSS}.
鏍煎紡鍙互鍙傝€?java綾?SimpleDateFormat,涓嶈繃 鎸夌収姝ょ被鐨勮緗細(xì)褰卞搷閫熷害銆備綘鍙互閫夋嫨鏇村揩鐨勬柟寮?%d{ISO8601},

%d{ABSOLUTE}, %d{RELATIVE}.鎴栬€呬嬌鐢╨og4j鐨処SO8601DateFormat, AbsoluteTimeDateFormat,

RelativeTimeDateFormat 鍜?DateTimeDateFormat 鏂瑰紡.
聽(tīng)%f 杈撳嚭鏃ュ織淇℃伅鎵€灞炵殑綾葷殑綾誨悕
聽(tīng)%l 杈撳嚭鏃ュ織浜嬩歡鐨勫彂鐢熶綅緗紝鍗寵緭鍑烘棩蹇椾俊鎭殑璇彞澶勪簬瀹冩墍鍦ㄧ殑綾葷殑絎嚑琛?br />聽(tīng)%m 杈撳嚭浠g爜涓寚瀹氱殑淇℃伅錛屽log(message)涓殑message
聽(tīng)%M 杈撳嚭鏃ュ織淇℃伅涓墍鍙戠敓鐨勬柟娉曞悕銆?br />聽(tīng)%n 杈撳嚭涓€涓洖杞︽崲琛岀錛學(xué)indows騫沖彴涓衡€淺r\n鈥濓紝Unix騫沖彴涓衡€淺n鈥?br />聽(tīng)%p 杈撳嚭浼樺厛綰э紝鍗矰EBUG錛孖NFO錛學(xué)ARN錛孍RROR錛孎ATAL銆傚鏋滄槸璋冪敤debug()杈撳嚭鐨勶紝鍒欎負(fù)DEBUG錛屼緷姝ょ被鎺?br />聽(tīng)%r 杈撳嚭鑷簲鐢ㄥ惎鍔ㄥ埌杈撳嚭璇ユ棩蹇椾俊鎭墍鑰楄垂鐨勬縐掓暟
聽(tīng)%t 杈撳嚭浜х敓璇ユ棩蹇椾簨浠剁殑綰跨▼鍚?br />鍥涖€佷嬌鐢?/strong>
聽(tīng)4.1.1 SimpleLayout 鍜?FileAppender 鏂瑰紡
浠ヤ笅鏄互鏂囦歡鐨勮緭鍑烘柟寮廇ppender鍜岀畝鍗曠殑甯冨眬鏂瑰紡S(chǎng)impleLayout鐨勪緥瀛愶細(xì)

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;
public class simpandfile {
聽(tīng)聽(tīng) static Logger logger = Logger.getLogger(simpandfile.class);
聽(tīng)聽(tīng) public static void main(String args[]) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) SimpleLayout layout = new SimpleLayout();

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) FileAppender appender = null;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) try {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) appender = new FileAppender(layout,"output1.txt",false);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) } catch(Exception e) {}

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.addAppender(appender);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.setLevel((Level) Level.DEBUG);

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("Here is some DEBUG");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.info("Here is some INFO");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.warn("Here is some WARN");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Here is some ERROR");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.fatal("Here is some FATAL");
聽(tīng)聽(tīng) }
}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)棣栧厛瀹炰緥鍖朙ogger瀵硅薄銆俿tatic Logger logger = Logger.getLogger(simpandfile.class);鐒跺悗鎸囧畾杈撳嚭鐨勬柟

寮忓拰甯冨眬 appender = new FileAppender(layout,"output1.txt",false);logger.addAppender(appender);
鏈€鍚庡畾涔夌駭鍒細(xì)logger.addAppender(appender);榪欐牱瀹屾垚浜?jiǎn)log4j鏃ュ織綾葷殑鍒濆鍖?鎺ョ潃灝卞彲浠ヨ繘琛屾棩蹇楄緭鍑轟簡(jiǎn)銆傝繖灝辨槸

log4j鏃ュ織綾葷殑浣跨敤鏃剁殑涓€鑸『搴忋€傚洜浠ヤ笅紼嬪簭姣旇緝綆€鍗曪紝鐗瑰埆鐨勫湴鏂瑰皢浼?xì)鏈夋敞閲婂Q屽皢涓嶅啀瑙i噴銆?/font>


聽(tīng)4.1.2. HTMLLayout 鍜?WriterAppender


import java.io.*;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.HTMLLayout;
import org.apache.log4j.WriterAppender;
public class htmlandwrite {
聽(tīng)聽(tīng) static Logger logger = Logger.getLogger(htmlandwrite.class);
聽(tīng)聽(tīng) public static void main(String args[]) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) HTMLLayout layout = new HTMLLayout();

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) WriterAppender appender = null;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) try {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) FileOutputStream output = new FileOutputStream("output2.html");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) appender = new WriterAppender(layout,output);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) } catch(Exception e) {}

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.addAppender(appender);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.setLevel((Level) Level.DEBUG);

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("Here is some DEBUG");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.info("Here is some INFO");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.warn("Here is some WARN");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Here is some ERROR");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.fatal("Here is some FATAL");
聽(tīng)聽(tīng) }
}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)

4.1.3. PatternLayout and ConsoleAppender

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.ConsoleAppender;
public class consandpatt {
聽(tīng)聽(tīng) static Logger logger = Logger.getLogger(consandpatt.class);
聽(tīng)聽(tīng) public static void main(String args[]) {

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) // Note, %n is newline
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) String pattern =聽(tīng) "Milliseconds since program start: %r %n";
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) pattern += "Classname of caller: %C %n";
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) pattern += "Date in ISO8601 format: %d{ISO8601} %n";
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) pattern += "Location of log event: %l %n";
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) pattern += "Message: %m %n %n";
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) PatternLayout layout = new PatternLayout(pattern);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ConsoleAppender appender = new ConsoleAppender(layout);

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.addAppender(appender);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.setLevel((Level) Level.DEBUG);

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("Here is some DEBUG");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.info("Here is some INFO");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.warn("Here is some WARN");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Here is some ERROR");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.fatal("Here is some FATAL");
聽(tīng)聽(tīng) }
}

4.2 浣跨敤閰嶇疆鏂囦歡鏉ュ畾涔夎緭鍑篈ppender鍜屽竷灞€鏍煎紡Layout
聽(tīng)log4j鏀寔涓ょ鏂瑰紡鐨勯厤緗柟寮忥紝.properties 浜岃繘鍒舵枃浠跺拰xml鏂囦歡鐨勬柟寮忋€傛垜浠畝鍗曡涓€涓?properties鐨勯厤

緗柟寮忓悗錛屽皢涓昏璁ㄨxml鏂囦歡鐨勯厤緗柟寮忋€?br />聽(tīng)
聽(tīng)4.2.1聽(tīng) 鎴戜滑灝嗕互.properties鏂囦歡鐨勬牸寮忓畾涔変袱縐嶈緭鍑烘柟寮忥紝涓€縐嶆槸杈撳嚭鍒版枃浠朵腑錛屽彟涓€縐嶆槸杈撳嚭鍒版暟鎹簱涓?/font>

銆?
聽(tīng)
聽(tīng)棣栧厛瀹氫箟simple.properties鏂囦歡,鏂囦歡瀹氫箟濡備笅錛?br />聽(tīng)
聽(tīng)#瀹氫箟浜?jiǎn)涓や釜杈撳嚭绔?br />聽(tīng)log4j.rootLogger = INFO,f,db


聽(tīng)# 瀹氫箟f杈撳嚭鍒版枃浠?騫朵笖鏂囦歡鏄殢鐫€澶у皬鑰屽鍔犵殑
聽(tīng)log4j.appender.f = org.apache.log4j.RollingFileAppender聽(tīng)
聽(tīng)log4j.appender.f.File = F:\\nepalon\\classes\\test1.log聽(tīng)
聽(tīng)log4j.appender.f.MaxFileSize = 1000KB聽(tīng)
聽(tīng)log4j.appender.f.MaxBackupIndex = 3聽(tīng)
聽(tīng)log4j.appender.f.layout = org.apache.log4j.PatternLayout
聽(tīng)
聽(tīng)log4j.appender.f.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n

聽(tīng)#瀹氫箟db杈撳嚭鍒版暟鎹簱
聽(tīng)log4j.appender.db = org.apache.log4j.jdbc.JDBCAppender
聽(tīng)log4j.appender.db.BufferSize = 40
聽(tīng)log4j.appender.db.Driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
聽(tīng)log4j.appender.db.URL = jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test
聽(tīng)log4j.appender.db.User = sa
聽(tīng)log4j.appender.db.Password =
聽(tīng)log4j.appender.db.layout = org.apache.log4j.PatternLayout
聽(tīng)log4j.appender.db.layout.ConversionPattern = INSERT INTO log4j (createDate, thread, priority,

category, message) values('%d{ISO8601}', '%t', '%-5p', '%c', '%m')

聽(tīng)鐒跺悗紼嬪簭涓皢寮曠敤榪欓厤緗枃浠躲€傚畾涔夊涓嬶細(xì)

聽(tīng)import org.apache.log4j.Logger;
聽(tīng)import org.apache.log4j.xml.DOMConfigurator;

聽(tīng)public class Test {
聽(tīng)
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)static Logger logger = Logger.getLogger(Test.class);
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)public static void main(String args[]) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)//浠roperty鏂瑰紡璇誨埌閰嶇疆鏂囦歡銆?br />聽(tīng)聽(tīng)聽(tīng)PropertyConfigurator.configure ( "simple.properties" ) ;
銆€
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.debug("Here is some DEBUG");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.info("Here is some INFO");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.warn("Here is some WARN");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.error("Here is some ERROR");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.fatal("Here is some FATAL");
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)}
聽(tīng)}


聽(tīng)4.2.2 浠ml閰嶇疆

聽(tīng)紼嬪簭濡備笅錛?br />聽(tīng)import org.apache.log4j.Logger;
聽(tīng)import org.apache.log4j.xml.DOMConfigurator;

聽(tīng)public class Test {
聽(tīng)
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)static Logger logger = Logger.getLogger(Test.class);
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)public static void main(String args[]) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)//浠ML鏂瑰紡璇誨埌閰嶇疆鏂囦歡銆?br />聽(tīng)聽(tīng)聽(tīng) DOMConfigurator.configure("xmllog4jconfig.xml");

銆€
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.debug("Here is some DEBUG");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.info("Here is some INFO");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.warn("Here is some WARN");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.error("Here is some ERROR");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)logger.fatal("Here is some FATAL");
聽(tīng)聽(tīng) 聽(tīng)聽(tīng)}
聽(tīng)}


聽(tīng)xmllog4jconfig.xml 濡備笅錛?/font>

聽(tīng)<?xml version="1.0" encoding="UTF-8" ?>
聽(tīng)<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

聽(tīng)<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng) 聽(tīng)<appender name="appender" class="org.apache.log4j.FileAppender">
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="File" value="Indentify-Log.txt"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="Append" value="false"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<layout class="org.apache.log4j.PatternLayout">
聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng) <param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)</layout>
聽(tīng) 聽(tīng)</appender>

聽(tīng) 聽(tīng)<root>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<priority value ="debug"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<appender-ref ref="appender"/>
聽(tīng) 聽(tīng)</root>

聽(tīng)</log4j:configuration>


聽(tīng)瀵規(guī)瘮properties鏂瑰紡鍜寈ml鏂瑰紡錛屽彲浠ョ湅鍑轟粬浠▼搴忎腑錛岄櫎浜?jiǎn)瀹氫箟璇诲彇閰嵕|枃浠剁殑鏂瑰紡涓嶅悓澶?鍏跺畠鐨勬牴鏈氨娌?/font>

鏈夊尯鍒簡(jiǎn)錛岃繖涔熷氨鏄痩og4j鐨勯瓍鍔涙墍鍦ㄤ簡(jiǎn)錛屼笉闇€瑕佹敼鍙樼▼搴忥紝鍙渶瑕侀€氳繃鏀瑰彉瀹氫箟鐨勯厤緗枃浠訛紝鎴戜滑灝卞彲浠ユ帶鍒舵棩蹇楃殑杈?/font>

鍑烘柟寮忥紝鏄惁杈撳嚭錛岃緭鍑烘牸寮忋€傛垜浠彲浠ラ€氳繃瀹氫箟涓嶅悓鐨剎ml鏂囦歡鏉ユ帶鍒惰緭鍑烘柟寮?浠ヤ笅鏄悇縐嶈緭鍑烘柟寮忎笌甯冨眬鐨勪緥瀛愩€?br />聽(tīng)
聽(tīng)4.2.3 姣旇緝綆€鍗曠殑涓€涓€?br />聽(tīng)<?xml version="1.0" encoding="gb2312" ?>
聽(tīng)<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
聽(tīng)<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
聽(tīng)<!--
聽(tīng)聽(tīng)閰嶇疆杈撳嚭鐨勬棩蹇楃洰褰曚負(fù)鍦ㄦ帶鍒跺彴銆?br />聽(tīng)聽(tīng)鏍煎紡閲囩敤涓篜atternLoyout,騫朵笖鏍峰紡涓猴細(xì)%d{ISO8601} %r [%c :: %p %m]%n
聽(tīng)-->聽(tīng)聽(tīng)
聽(tīng) 聽(tīng)<appender name="CA" class="org.apache.log4j.ConsoleAppender">聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<layout class="org.apache.log4j.PatternLayout">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="ConversionPattern" value="%d{ISO8601} %r [%c :: %p %m]%n"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)</layout>
聽(tīng) 聽(tīng)</appender>

聽(tīng) 聽(tīng)<root>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<priority value ="debug"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender-ref ref="CA"/>
聽(tīng) 聽(tīng)</root>

聽(tīng)</log4j:configuration>
聽(tīng)
聽(tīng)4.2.4 鏂囦歡鐨勮緭鍑?pattern鐨勫竷灞€
聽(tīng)<?xml version="1.0" encoding="UTF-8" ?>
聽(tīng)<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

聽(tīng)<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng) 聽(tīng)<appender name="appender" class="org.apache.log4j.FileAppender">
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="File" value="Indentify-Log.txt"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="Append" value="false"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<layout class="org.apache.log4j.PatternLayout">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)</layout>
聽(tīng) 聽(tīng)</appender>

聽(tīng) 聽(tīng)<root>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<priority value ="debug"/>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender-ref ref="appender"/>
聽(tīng) 聽(tīng)</root>

聽(tīng)</log4j:configuration>

聽(tīng)4.2.5 鎺у埗鍙扮殑杈撳嚭 鍜岀畝鍗曠殑甯冨眬
聽(tīng)<?xml version="1.0" encoding="UTF-8" ?>
聽(tīng)<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

聽(tīng)<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng) 聽(tīng)<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<layout class="org.apache.log4j.SimpleLayout"/>
聽(tīng) 聽(tīng)</appender>

聽(tīng) 聽(tīng)<root>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<priority value ="debug" />
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<appender-ref ref="ConsoleAppender"/>
聽(tīng) 聽(tīng)</root>

聽(tīng)</log4j:configuration>

聽(tīng)4.2.6 瀹氫箟涓夌杈撳嚭鏂瑰紡錛屾寜鐓т笉鍚岀殑綰у埆錛岄€夋嫨涓嶅悓鐨勮緭鍑烘柟寮?debug,info,綰у埆閫氳繃System.out鏉ユ墦鍗般€?br />聽(tīng)WARN,FATAL閫氳繃System.err鏉ヨ緭鍑恒€侲RROR,FATAL鍙戦€佸埌閭銆?/font>

聽(tīng)<?xml version="1.0" encoding="UTF-8" ?>
聽(tīng)<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
聽(tīng)<log4j:configuration>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="Target" value="System.out" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<layout class="org.apache.log4j.PatternLayout">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="ConversionPattern" value="[%d{ISO8601}] %-5p %c %m %n" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng) </layout>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<filter class="org.apache.log4j.varia.LevelRangeFilter">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="LevelMin" value="DEBUG"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="LevelMax" value="INFO"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</filter>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</appender>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender name="STDERR"聽(tīng) class="org.apache.log4j.ConsoleAppender">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="Target" value="System.err" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<layout class="org.apache.log4j.PatternLayout">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="ConversionPattern" value="[%d{ISO8601}] %-5p %c %m %n" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)</layout>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<filter class="org.apache.log4j.varia.LevelRangeFilter">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="LevelMin" value="WARN"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="LevelMax" value="FATAL"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</filter>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</appender>

聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<!--聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) -->
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<!-- Declare the SMTPAppender -->
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<!--聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) -->
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender name="EMAIL"聽(tīng) class="org.apache.log4j.net.SMTPAppender">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="BufferSize" value="512" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="SMTPHost" value="mail.suiyuanwu.com" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="From" value="log4j@server5" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="To" value="web@suiyuanwu.com" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<param name="Subject" value="[SMTPAppender] Application message" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<layout class="org.apache.log4j.PatternLayout">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="ConversionPattern" value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</layout>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<filter class="org.apache.log4j.varia.LevelRangeFilter">
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="LevelMin" value="ERROR"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<param name="LevelMax" value="FATAL"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</filter>
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)</appender>

聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<!--聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) -->
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<!-- setup log4j's root logger -->
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<!--聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) -->
聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<root>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)聽(tīng)<level value="all" />
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender-ref ref="STDOUT"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender-ref ref="STDERR"/>
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) 聽(tīng)<appender-ref ref="EMAIL" />
聽(tīng)聽(tīng) 聽(tīng) </root>
聽(tīng)</log4j:configuration>
聽(tīng)聽(tīng)聽(tīng)
浜斻€佸弬鑰冭祫鏂?/strong>
聽(tīng)1.http://www.vipan.com/htdocs/log4jhelp.html
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Don't Use System.out.println! Use Log4j - Vipan Singla
聽(tīng)2.http://jakarta.apache.org/log4j/docs/manual.html
聽(tīng) Short introduction to log4j - Ceki G眉lc眉 - March 2002
聽(tīng)3.http://www-128.ibm.com/developerworks/cn/java/jw-log4j/
聽(tīng)log4j鎻愪緵浜?jiǎn)瀵规棩蹇楄褰曠殑鎺у?br />聽(tīng)4.http://logging.apache.org/log4j/docs/documentation.html
聽(tīng)log4j鎻愪緵鐨勬枃妗c€?/font>



winder 2006-04-24 10:34 鍙戣〃璇勮
]]>
鍏嶈垂JAVA鐢?shù)瀛愪功缃戠珯鏀堕?/title><link>http://www.aygfsteel.com/yaoleiyu/archive/2006/04/16/41306.html</link><dc:creator>winder</dc:creator><author>winder</author><pubDate>Sun, 16 Apr 2006 02:27:00 GMT</pubDate><guid>http://www.aygfsteel.com/yaoleiyu/archive/2006/04/16/41306.html</guid><wfw:comment>http://www.aygfsteel.com/yaoleiyu/comments/41306.html</wfw:comment><comments>http://www.aygfsteel.com/yaoleiyu/archive/2006/04/16/41306.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yaoleiyu/comments/commentRss/41306.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yaoleiyu/services/trackbacks/41306.html</trackback:ping><description><![CDATA[1錛屽叏鑻辨枃鍚嶇數(shù)瀛愪功緗戠珯<br /><a >http://lab.lpicn.org/pub/books/</a><br /><br />2錛屼腑鍥絀T瀹為獙瀹ょ殑JAVA涓嬭澆<br /><a >http://download.chinaitlab.com/special/javaebook.htm</a><br /><br />3錛孞ava鐖卞ソ鑰?br /><a >http://www.javafan.net/download.jsp?ClassID=1</a><br /><br />4錛岀埍涔﹀惂<br /><a ><font color="#0000ff">http://www.ibook8.com</font></a><br /><br />5,聽(tīng)聽(tīng) 澶槼鑺?br /><a ><font color="#0000ff">http://www.javadown.com.cn</font></a><img src ="http://www.aygfsteel.com/yaoleiyu/aggbug/41306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yaoleiyu/" target="_blank">winder</a> 2006-04-16 10:27 <a href="http://www.aygfsteel.com/yaoleiyu/archive/2006/04/16/41306.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> 主站蜘蛛池模板: <a href="http://" target="_blank">酉阳</a>| <a href="http://" target="_blank">子长县</a>| <a href="http://" target="_blank">新巴尔虎右旗</a>| <a href="http://" target="_blank">开封市</a>| <a href="http://" target="_blank">始兴县</a>| <a href="http://" target="_blank">桃园县</a>| <a href="http://" target="_blank">武山县</a>| <a href="http://" target="_blank">庆云县</a>| <a href="http://" target="_blank">商南县</a>| <a href="http://" target="_blank">宿迁市</a>| <a href="http://" target="_blank">清新县</a>| <a href="http://" target="_blank">两当县</a>| <a href="http://" target="_blank">灵璧县</a>| <a href="http://" target="_blank">化州市</a>| <a href="http://" target="_blank">都江堰市</a>| <a href="http://" target="_blank">游戏</a>| <a href="http://" target="_blank">昌乐县</a>| <a href="http://" target="_blank">莱州市</a>| <a href="http://" target="_blank">海口市</a>| <a href="http://" target="_blank">会东县</a>| <a href="http://" target="_blank">巴塘县</a>| <a href="http://" target="_blank">二连浩特市</a>| <a href="http://" target="_blank">新昌县</a>| <a href="http://" target="_blank">时尚</a>| <a href="http://" target="_blank">凤庆县</a>| <a href="http://" target="_blank">淅川县</a>| <a href="http://" target="_blank">泗阳县</a>| <a href="http://" target="_blank">黄龙县</a>| <a href="http://" target="_blank">当阳市</a>| <a href="http://" target="_blank">安新县</a>| <a href="http://" target="_blank">娱乐</a>| <a href="http://" target="_blank">慈溪市</a>| <a href="http://" target="_blank">麟游县</a>| <a href="http://" target="_blank">大城县</a>| <a href="http://" target="_blank">东方市</a>| <a href="http://" target="_blank">四子王旗</a>| <a href="http://" target="_blank">竹北市</a>| <a href="http://" target="_blank">五指山市</a>| <a href="http://" target="_blank">金寨县</a>| <a href="http://" target="_blank">锦屏县</a>| <a href="http://" target="_blank">萨嘎县</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>