锘??xml version="1.0" encoding="utf-8" standalone="yes"?>色偷偷亚洲男人天堂,亚洲国产成人久久精品影视,亚洲福利视频一区二区http://www.tkk7.com/Pudgy/category/2851.html<SCRIPT> var dict_width = 'auto' var dict_height = '72px' var dict_background = 'transparent' var dict_border = '0px dotted #000000' var dict_textColor = '#6FBC4C' var dict_fontSize = '100%' var dict_encoding = 'Utf-8' </SCRIPT> <SCRIPT src="http://livid.cn/services/fortune"></SCRIPT> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script>zh-cnTue, 27 Feb 2007 12:05:26 GMTTue, 27 Feb 2007 12:05:26 GMT60log4j Tutorialshttp://www.tkk7.com/Pudgy/archive/2005/08/18/10449.htmlPudgy's WorldPudgy's WorldThu, 18 Aug 2005 08:58:00 GMThttp://www.tkk7.com/Pudgy/archive/2005/08/18/10449.htmlhttp://www.tkk7.com/Pudgy/comments/10449.htmlhttp://www.tkk7.com/Pudgy/archive/2005/08/18/10449.html#Feedback1http://www.tkk7.com/Pudgy/comments/commentRss/10449.htmlhttp://www.tkk7.com/Pudgy/services/trackbacks/10449.html

鐩綍

浣跨敤log4j澶ф娑夊強3涓富瑕佹蹇?

鏃ュ織璁板綍鍣?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錛夌殑琛屼負鏄垎絳夌駭鐨勩傚涓嬭〃鎵紺猴細

鏃ュ織璁板綍鍣紙Logger錛夊皢鍙緭鍑洪偅浜涚駭鍒珮浜庢垨絳変簬瀹冪殑綰у埆鐨勪俊鎭傚鏋滄病鏈夎緗棩蹇楄褰曞櫒錛圠ogger錛夌殑綰у埆錛岄偅涔堝畠灝嗕細緇ф壙鏈榪戠殑紲栧厛鐨勭駭鍒傚洜姝わ紝濡傛灉鍦ㄥ寘com.foo.bar涓垱寤轟竴涓棩蹇楄褰曞櫒錛圠ogger錛夊茍涓旀病鏈夎緗駭鍒紝閭e畠灝嗕細緇ф壙鍦ㄥ寘com.foo涓垱寤虹殑鏃ュ織璁板綍鍣紙Logger錛夌殑綰у埆銆傚鏋滃湪com.foo涓病鏈夊垱寤烘棩蹇楄褰曞櫒錛圠ogger錛夌殑璇?閭d箞鍦?span class="strong">com.foo.bar涓垱寤虹殑鏃ュ織璁板綍鍣紙Logger錛夊皢緇ф壙root 鏃ュ織璁板綍鍣紙Logger錛夌殑綰у埆錛宺oot鏃ュ織璁板綍鍣紙Logger錛夌粡甯歌瀹炰緥鍖栬屽彲鐢紝瀹冪殑綰у埆涓?span class="strong">DEBUG銆?

鏈夊緢澶氭柟娉曞彲浠ュ垱寤轟竴涓棩蹇楄褰曞櫒錛圠ogger錛夛紝涓嬮潰鏂規硶鍙互鍙栧洖root鏃ュ織璁板綍鍣?

Logger logger = Logger.getRootLogger();

榪樺彲浠ヨ繖鏍峰垱寤轟竴涓柊鐨勬棩蹇楄褰曞櫒:

Logger logger = Logger.getLogger("MyLogger");

姣旇緝甯哥敤鐨勭敤娉曪紝灝辨槸鏍規嵁綾誨悕瀹炰緥鍖栦竴涓潤鎬佺殑鍏ㄥ眬鏃ュ織璁板綍鍣?

static Logger logger = Logger.getLogger(test.class);

鎵鏈夎繖浜涘垱寤虹殑鍙?logger"鐨勬棩蹇楄褰曞櫒閮藉彲浠ョ敤涓嬮潰鏂規硶璁劇疆綰у埆:

logger.setLevel((Level)Level.WARN);

鍙互浣跨敤7涓駭鍒腑鐨勪換浣曚竴涓? Level.DEBUG, Level.INFO, Level.WARN, Level.ERROR, Level.FATAL, Level.ALL and Level.OFF.

Appender 鎺у埗鏃ュ織鎬庢牱杈撳嚭銆備笅闈㈠垪鍑轟竴浜涘彲鐢ㄧ殑Appender(log4j API涓墍鎻忚堪鐨?http://jakarta.apache.org/log4j/docs/api/index.html):

  1. ConsoleAppender:浣跨敤鐢ㄦ埛鎸囧畾鐨勫竷灞(layout) 杈撳嚭鏃ュ織浜嬩歡鍒癝ystem.out鎴栬?System.err銆傞粯璁ょ殑鐩爣鏄疭ystem.out銆?

  2. DailyRollingFileAppender 鎵╁睍FileAppender錛屽洜姝ゅ涓棩蹇楁枃浠跺彲浠ヤ互涓涓敤鎴烽夊畾鐨勯鐜囪繘琛屽驚鐜棩蹇楄褰曘?

  3. FileAppender 鎶婃棩蹇椾簨浠跺啓鍏ヤ竴涓枃浠?

  4. RollingFileAppender 鎵╁睍FileAppender澶囦喚瀹歸噺杈懼埌涓瀹氬ぇ灝忕殑鏃ュ織鏂囦歡銆?/p>

  5. WriterAppender鏍規嵁鐢ㄦ埛鐨勯夋嫨鎶婃棩蹇椾簨浠跺啓鍏ュ埌Writer鎴栬匫utputStream銆?

  6. SMTPAppender 褰撶壒瀹氱殑鏃ュ織浜嬩歡鍙戠敓鏃訛紝涓鑸槸鎸囧彂鐢熼敊璇垨鑰呴噸澶ч敊璇椂錛屽彂閫佷竴灝侀偖浠躲?

  7. SocketAppender 緇欒繙紼嬫棩蹇楁湇鍔″櫒錛堥氬父鏄綉緇滃鎺ュ瓧鑺傜偣錛夊彂閫佹棩蹇椾簨浠訛紙LoggingEvent錛夊璞°?/p>

  8. SocketHubAppender 緇欒繙紼嬫棩蹇楁湇鍔″櫒緹ょ粍錛堥氬父鏄綉緇滃鎺ュ瓧鑺傜偣錛夊彂閫佹棩蹇椾簨浠訛紙LoggingEvent錛夊璞°?/p>

  9. SyslogAppender緇欒繙紼嬪紓姝ユ棩蹇楄褰曠殑鍚庡彴綺劇伒紼嬪簭(daemon)鍙戦佹秷鎭?

  10. TelnetAppender 涓涓笓鐢ㄤ簬鍚戝彧璇葷綉緇滃鎺ュ瓧鍙戦佹秷鎭殑log4j appender銆?

榪樺彲浠ュ疄鐜?Appender 鎺ュ彛錛屽垱寤轟互鑷繁鐨勬柟寮忚繘琛屾棩蹇楄緭鍑虹殑Appender銆?

榪欓噷鏄竴涓潪甯哥畝鍗曠殑渚嬪瓙錛岀▼搴忓疄鐜頒簡SimpleLayout鍜孎ileAppender:

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;
public class simpandfile {
static Logger logger = Logger.getLogger(simpandfile.class);
public static void main(String args[]) {
SimpleLayout layout = new SimpleLayout();
FileAppender appender = null;
try {
appender = new FileAppender(layout,"output1.txt",false);
} catch(Exception e) {}
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}

浣犲彲浠ヤ笅杞? simpandfile.java銆?榪樺彲浠ユ煡鐪嬪畠鐨勮緭鍑猴細 output1.txt.

榪欓噷鏄竴涓潪甯哥畝鍗曠殑渚嬪瓙錛岀▼搴忓疄鐜頒簡 HTMLLayout鍜學riterAppender:

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 {
static Logger logger = Logger.getLogger(htmlandwrite.class);
public static void main(String args[]) {
HTMLLayout layout = new HTMLLayout();
WriterAppender appender = null;
try {
FileOutputStream output = new FileOutputStream("output2.html");
appender = new WriterAppender(layout,output);
} catch(Exception e) {}
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}

浣犲彲浠ヤ笅杞? simpandfile.java. 榪樺彲浠ユ煡鐪嬪畠鐨勮緭鍑猴細output1.txt.

榪欓噷鏄竴涓潪甯哥畝鍗曠殑渚嬪瓙錛岀▼搴忓疄鐜頒簡PatternLayout鍜孋onsoleAppender:

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.ConsoleAppender;
public class consandpatt {
static Logger logger = Logger.getLogger(consandpatt.class);
public static void main(String args[]) {
// Note, %n is newline
String pattern = "Milliseconds since program start: %r %n";
pattern += "Classname of caller: %C %n";
pattern += "Date in ISO8601 format: %d{ISO8601} %n";
pattern += "Location of log event: %l %n";
pattern += "Message: %m %n %n";

PatternLayout layout = new PatternLayout(pattern);
ConsoleAppender appender = new ConsoleAppender(layout);
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}

浣犲彲浠ヤ笅杞?simpandfile.java. 榪樺彲浠ユ煡鐪嬪畠鐨勮緭鍑猴細 output2.txt.

Log4j緇忓父涓庡閮ㄦ棩蹇楁枃浠惰仈鍚堜嬌鐢紝榪欐牱寰堝鍙夐」涓嶅繀紜紪鐮佸湪杞歡涓備嬌鐢ㄥ閮ㄩ厤緗枃浠剁殑浼樼偣灝辨槸淇敼鍙夐」涓嶉渶瑕侀噸鏂扮紪璇戠▼搴忋傚敮涓鐨勭己鐐瑰氨鏄紝鐢變簬鐢ㄥ埌io 鎸囦護錛岄熷害紼嶅井鏈変簺鍑忔參銆?

鏈変袱涓柟娉曞彲浠ョ敤鏉ユ寚瀹氬閮ㄩ厤緗枃浠訛細鏂囨湰鏂囦歡鎴栬匵ML鏂囦歡銆傛棦鐒剁幇鍦ㄦ墍鏈変簨鎯呴兘鍐欐垚XML鏂囦歡錛岄偅涔堣鏁欑▼灝遍噸鐐硅瑙ML鏂囦歡鏂規硶錛屼絾鏄篃鍖呭惈鐩稿叧鏂囨湰鏂囦歡鐨勪緥瀛愩傞鍏堬紝鐪嬬湅涓嬮潰鐨刋ML閰嶇疆鏂囦歡紺轟緥錛?/a>

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="ConsoleAppender"/>
</root>
</log4j:configuration>

鏂囦歡浠ユ爣鍑嗙殑XML澹版槑浣滀負寮濮嬶紝鍚庨潰璺熺潃鎸囧嚭DTD錛堟枃妗g被鍨嬪畾涔夛級鐨凞OCTYPE澹版槑錛屽畠瀹氫箟浜哫ML鏂囦歡鐨勭粨鏋勶紝渚嬪錛屼粈涔堝厓绱犲彲浠ュ祵鍏ュ湪鍏朵粬鍏冪礌涓瓑絳夈備笂闈㈡枃浠跺湪log4j鍙戣鐗堢殑src/java/org/apache/log4j/xml鐩綍涓?鎺ョ潃鐪嬬湅灝佽鎵鏈夊厓绱犵殑 log4j:configuration 鍏冪礌錛屽畠鍦―OCTYPE澹版槑涓鎸囧畾涓烘牴鍏冪礌銆傚祵鍏ュ湪鏍瑰厓绱犱腑鏈変袱涓粨鏋勶細

  <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>

榪欓噷鍒涘緩涓涓悕鍙?ConsoleAppender"鐨?Appender錛屾敞鎰忥紝浣犲彲浠ラ夋嫨浠諱綍鍚嶅瓧錛岃紺轟緥涔嬫墍浠ラ夋嫨"ConsoleAppender"錛屽畬鍏ㄦ槸涓轟簡紺轟緥鐨勮璁°傛帴鐫榪欎釜appender綾諱互鍏ㄥ悕褰㈠紡緇欏嚭錛岀粡甯哥敤瑙勮寖錛坒ully qualified錛夌被鍚嶃?Appender蹇呴』鍏鋒湁涓涓寚瀹氱殑 name鍜?span class="emphasis">class銆傚祵鍏ュ湪 Appender涔嬪唴鐨勬槸 layout鍏冪礌錛岃繖閲屽畠琚寚瀹氫負SimpleLayout銆?Layout 蹇呴』鍏鋒湁涓涓?class灞炴с?

  <root>
<priority value ="debug" />
<appender-ref ref="ConsoleAppender"/>
</root>

root鍏冪礌蹇呴』瀛樺湪涓斾笉鑳借瀛愮被鍖栥傜ず渚嬩腑鐨勪紭鍏堢駭琚緗負"debug"錛岃緗產ppender楗卞惈涓涓?span class="emphasis">appender-ref鍏冪礌銆傝繕鏈夋洿澶氱殑灞炴ф垨鍏冪礌鍙互鎸囧畾銆傛煡鐪媗og4j鍙戣鐗堜腑鐨剆rc/java/org/apache/log4j/xml/log4j.dtd浠ヤ簡瑙e叧浜嶺ML閰嶇疆鏂囦歡緇撴瀯鐨勬洿澶氫俊鎭傚彲浠ョ敤涓嬮潰榪欑鏂規硶鎶婇厤緗俊鎭枃浠惰鍏ュ埌Java紼嬪簭涓?

DOMConfigurator.configure("configurationfile.xml");

DOMConfigurator 鐢ㄤ竴媯礑OM鏍戞潵鍒濆鍖杔og4j鐜銆傝繖閲屾槸紺轟緥涓殑XML閰嶇疆鏂囦歡錛?/a>plainlog4jconfig.xml銆傝繖閲屾槸鎵ц璇ラ厤緗枃浠剁殑紼嬪簭: files/externalxmltest.java:

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
public class externalxmltest {
static Logger logger = Logger.getLogger(filetest.class);
public static void main(String args[]) {
DOMConfigurator.configure("xmllog4jconfig.xml");
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}

榪欓噷鏄竴涓疄鐜板甫鏈?span class="emphasis">PatternLayout鐨?span class="emphasis">FileAppender鐨勬棩蹇楄褰曞櫒Logger鐨刋ML閰嶇疆鏂囦歡:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="appender" class="org.apache.log4j.FileAppender">
<param name="File" value="Indentify-Log.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>
<root>
<priority value ="debug"/>
<appender-ref ref="appender"/>
</root>
</log4j:configuration>

浣犲彲浠ヤ粠榪欓噷涓嬭澆紺轟緥: xmllog4jconfig2.xml銆?鎯寵寰楀埌鏇村鐨勪嬌鐢╔ML鏂囦歡閰嶇疆log4j鐜鐨勪緥瀛愶紝璇鋒煡鐪媗og4j鍙戣鐗堢殑鐩綍src/java/org/apache/log4j/xml/examples/ 銆?

榪欏氨鏄笂闈㈣璁虹殑鏂囨湰鏂囦歡褰㈠紡鐨勯厤緗枃浠?

# initialise root logger with level DEBUG and call it BLAH
log4j.rootLogger=DEBUG, BLAH
# add a ConsoleAppender to the logger BLAH
log4j.appender.BLAH=org.apache.log4j.ConsoleAppender
# set set that layout to be SimpleLayout
log4j.appender.BLAH.layout=org.apache.log4j.SimpleLayout

浠庤繖閲屽彲浠ヤ笅杞? plainlog4jconfig.txt銆傝繖灝辨槸鎵ц璇ラ厤緗枃浠剁殑紼嬪簭:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class externalplaintest {
static Logger logger = Logger.getLogger(externalplaintest.class);
public static void main(String args[]) {
PropertyConfigurator.configure("plainlog4jconfig.xml");
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}

浣犲彲浠ヤ笅杞戒嬌鐢ㄨ閰嶇疆鏂囦歡鐨勭ず渚嬶細 externalplaintest.java銆傛兂瑕佽幏寰楁洿澶氱殑浣跨敤鏂囨湰鏂囦歡閰嶇疆log4j鐜鐨勪緥瀛愶紝璇鋒煡鐪媗og4j鍙戣鐗堜腑鐨勭洰褰昬xamples銆?

浣跨敤澶栭儴閰嶇疆鏂囦歡鐨勪緥瀛愬氨綆鍗曠殑璁ㄨ鍒拌繖閲岋紝鐜板湪搴旇鍙互鑲畾浣犲凡緇忔湁鑳藉姏鐙珛瀛︿範鏇村鐨刲og4j鍙戣鐗堝拰嫻嬭瘯鐗堜腑鎻愪緵鐨勪緥瀛愩?/p>



Pudgy's World 2005-08-18 16:58 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 丁香婷婷亚洲六月综合色| 亚洲热线99精品视频| 亚洲欧洲另类春色校园小说| 中国人免费观看高清在线观看二区 | 亚洲天堂在线播放| 免费91麻豆精品国产自产在线观看 | 又粗又大又硬又爽的免费视频| 亚洲欧美日韩中文字幕在线一区| 无码专区永久免费AV网站 | 亚洲Av无码精品色午夜| 国内精品久久久久影院免费| 亚洲午夜久久影院| **一级毛片免费完整视| 亚洲欧洲校园自拍都市| 日韩吃奶摸下AA片免费观看| 亚洲熟妇无码一区二区三区导航| 免费无码又爽又刺激高潮的视频 | 亚洲免费网站在线观看| 国产成人精品免费视频大| 久久亚洲日韩看片无码| 在线a免费观看最新网站| 亚洲男人电影天堂| 特级淫片国产免费高清视频| 国产精品亚洲专区无码唯爱网| 亚洲阿v天堂在线2017免费| 黄色网站软件app在线观看免费 | 亚洲中文无码卡通动漫野外 | 亚洲精品乱码久久久久久按摩 | 蜜桃视频在线观看免费网址入口| 亚洲人成电影网站色www| 免费a级毛片在线观看| 国产一级一毛免费黄片| 亚洲精品第五页中文字幕| 国产男女猛烈无遮挡免费视频网站| 黄页网址大全免费观看12网站| 日韩va亚洲va欧洲va国产| 9久9久女女免费精品视频在线观看 | 无码A级毛片免费视频内谢| 亚洲一区二区三区国产精华液| 亚洲国产综合久久天堂| 国产精品免费AV片在线观看|