ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产第一区二区三区,欧美激情综合色综合啪啪五月,欧美在线视频二区http://www.aygfsteel.com/javainthink/category/3677.html(构造一个完¾ŸŽçš„J2EE¾pȝ»Ÿæ‰€éœ€è¦çš„完整知识体系)zh-cnWed, 28 Feb 2007 18:12:25 GMTWed, 28 Feb 2007 18:12:25 GMT60log4j ½Ž€æ˜Žæ‰‹å†?/title><link>http://www.aygfsteel.com/javainthink/archive/2006/12/27/90286.html</link><dc:creator>é…”R…¸è?/dc:creator><author>é…”R…¸è?/author><pubDate>Wed, 27 Dec 2006 05:47:00 GMT</pubDate><guid>http://www.aygfsteel.com/javainthink/archive/2006/12/27/90286.html</guid><wfw:comment>http://www.aygfsteel.com/javainthink/comments/90286.html</wfw:comment><comments>http://www.aygfsteel.com/javainthink/archive/2006/12/27/90286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/javainthink/comments/commentRss/90286.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/javainthink/services/trackbacks/90286.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://www.aygfsteel.com/javainthink/archive/2006/12/27/90286.html'>阅读全文</a><img src ="http://www.aygfsteel.com/javainthink/aggbug/90286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/javainthink/" target="_blank">é…”R…¸è?/a> 2006-12-27 13:47 <a href="http://www.aygfsteel.com/javainthink/archive/2006/12/27/90286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j全面剖析http://www.aygfsteel.com/javainthink/archive/2006/10/11/74645.htmlé…”R…¸è?/dc:creator>é…”R…¸è?/author>Wed, 11 Oct 2006 09:56:00 GMThttp://www.aygfsteel.com/javainthink/archive/2006/10/11/74645.htmlhttp://www.aygfsteel.com/javainthink/comments/74645.htmlhttp://www.aygfsteel.com/javainthink/archive/2006/10/11/74645.html#Feedback0http://www.aygfsteel.com/javainthink/comments/commentRss/74645.htmlhttp://www.aygfsteel.com/javainthink/services/trackbacks/74645.html阅读全文

]]>
有效地记录日志可以简化企业的开发过½E?/title><link>http://www.aygfsteel.com/javainthink/archive/2006/10/11/74617.html</link><dc:creator>é…”R…¸è?/dc:creator><author>é…”R…¸è?/author><pubDate>Wed, 11 Oct 2006 08:56:00 GMT</pubDate><guid>http://www.aygfsteel.com/javainthink/archive/2006/10/11/74617.html</guid><wfw:comment>http://www.aygfsteel.com/javainthink/comments/74617.html</wfw:comment><comments>http://www.aygfsteel.com/javainthink/archive/2006/10/11/74617.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/javainthink/comments/commentRss/74617.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/javainthink/services/trackbacks/74617.html</trackback:ping><description><![CDATA[     摘要: 提前规划一个记录日志的计划åQŒåœ¨å¼€å‘过½E‹åŽæœŸå°±å¯ä»¥èŽïL›Š <br>  <a href='http://www.aygfsteel.com/javainthink/archive/2006/10/11/74617.html'>阅读全文</a><img src ="http://www.aygfsteel.com/javainthink/aggbug/74617.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/javainthink/" target="_blank">é…”R…¸è?/a> 2006-10-11 16:56 <a href="http://www.aygfsteel.com/javainthink/archive/2006/10/11/74617.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j完全使用http://www.aygfsteel.com/javainthink/archive/2006/10/11/74445.htmlé…”R…¸è?/dc:creator>é…”R…¸è?/author>Wed, 11 Oct 2006 02:11:00 GMThttp://www.aygfsteel.com/javainthink/archive/2006/10/11/74445.htmlhttp://www.aygfsteel.com/javainthink/comments/74445.htmlhttp://www.aygfsteel.com/javainthink/archive/2006/10/11/74445.html#Feedback0http://www.aygfsteel.com/javainthink/comments/commentRss/74445.htmlhttp://www.aygfsteel.com/javainthink/services/trackbacks/74445.html阅读全文

]]>
log4j ½Ž€æ˜Žæ‰‹å†?比较完整的讲è§?http://www.aygfsteel.com/javainthink/archive/2005/10/02/14651.htmlé…”R…¸è?/dc:creator>é…”R…¸è?/author>Sun, 02 Oct 2005 07:20:00 GMThttp://www.aygfsteel.com/javainthink/archive/2005/10/02/14651.htmlhttp://www.aygfsteel.com/javainthink/comments/14651.htmlhttp://www.aygfsteel.com/javainthink/archive/2005/10/02/14651.html#Feedback0http://www.aygfsteel.com/javainthink/comments/commentRss/14651.htmlhttp://www.aygfsteel.com/javainthink/services/trackbacks/14651.html详情误‚¿›:log4j½Ž€æ˜Žæ‰‹å†?/a>



另外一½‹‡æ–‡ç«?

作�廖武�br />MSN:liaowufeng1111@hotmail.com

1 log4j是什�
Log4j是一个开源的日志记录¾l„äšgåQŒå…¶äº§å“å·²ç»ç›¸å½“的成熟,且ä‹É用非常的òq¿æ³›ã€‚在工程中以易用åQŒæ–¹ä¾¿ç­‰ä»£æ›¿äº?System.out ½{‰æ‰“印语句ã€?br />Log4j的目标是åQšå®ƒå…è®¸å¼€å‘äh员以ä»ÀL„çš„ç²¾¾l†ç¨‹åº¦æŽ§åˆ¶å“ªäº›æ—¥å¿—说明被输出。通过使用外部的配¾|®æ–‡ä»Óž¼Œå¯ä»¥åœ¨è¿è¡Œæ—¶é…ç½®å®ƒã€?br />通过其要实现的目标,我们已理解出log4jž®†æ˜¯ä¸€ä¸ªååˆ†å¥½ç”¨çš„¾l„äšgã€?br />Log4j的具体在 http://logging.apache.org/log4j/扑ֈ° 它。另外,log4j已经被è{换成 C, C++, C#, Perl, Python, Ruby, å’?Eiffel 语言ã€?br />下面åQŒæˆ‘ž®×ƒ»Žlog4j的配¾|®æ–‡ä»¶æ¥å…·ä½“讲述åQŒlog4j的功能,通过配置文äšg来学习新技术已是一个很好的学习æ–ÒŽ³•ã€?br />Log4j有两个重要的概念åQšä¸€æ˜¯æ—¥å¿—çñ”åˆ?其日志çñ”别关¾pÖMØ“
DEBUG>INFO>WARN>ERROR>FATAL 原则åQŒé«˜¾U§åˆ«ž®†æ˜¾½CÞZ½Ž¾U§åˆ«çš„æ—¥å¿?br />二是appender(也是输出目标),在这上的˜q˜æœ‰è¾“出格式
其支持的输出目标ä¸?æ–‡äšgåQŒæŽ§åˆ¶å°åQŒæ•°æ®åº“,且支持一‹Æ¡æŒ‡å®šå¤šä¸ªè¾“出目æ ?br />Log4j的配¾|®æ–‡ä»‰™™¤äº†æ”¯æŒï¼š*.properties æ–‡äšg名,˜q˜æ”¯æŒè¿ç”¨ååˆ†å¹¿æ³›çš„xmlæ–‡äšgã€?br />下面的讲˜qîC¸­åQŒæˆ‘只通过*.propertiesæ–‡äšg来说明ã€?br />Log4j的属性文件的讲述
# 定义æ ÒŽ—¥å¿?日志¾U§åˆ«ä¸ºDEBUG 输出目标为控制台åQŒæ–‡ä»?br />log4j.rootLogger=INFO,A1,R
# 包com.liaowf日志,日志¾U§åˆ«ä¸ºDEBUG 输出目标为控制台åQŒæ–‡ä»?注意åQŒåŒ…com.liaowf下的所有类ž®†è‡ªåŠ¨æ‹¥æœ‰æ­¤æ—¥å¿—å±žæ€?
log4j.logger.com.liaowf=DEBUG,A1,R
# 名称为IAMLogInfo日志åQŒæ—¥å¿—çñ”åˆ«äØ“INFO,输出目标为数据库(注意åQŒæ‰€æœ‰ä‹É用IAMLogInfoä½œäØ“åç§°çš„æ—¥å¿—å°†æ‹¥ç”¨äº›æ—¥å¿—å±žæ€?
log4j.logger.IAMLogInfo=INFO,DATABASE

# ¾c»com.liaowf.console.connector.Synchro日志,日志¾U§åˆ«ä¸ºDEBUG,输出目标为控制台
log4j.logger.com.liaowf.console.connector.Synchro=DEBUG,A1,userSynR
# ¾c»com.liaowf.console.authorization.dao.UserDao日志,¾U§åˆ«ä¸ºDEBUGåQŒè¾“å‡ºç›®æ ‡äØ“æ–‡äšg
log4j.logger.com.liaowf.console.authorization.dao.UserDao=DEBUG,A1,userTelnet

# 配置TRUE
log4j.addivity.org.apache=true

# 定义控制台Appender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

# 输出到文件Appender
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=c:/iamSystem.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n


# JDBC 输出到数据库的Appender
#log4j.appender.DATABASE.Threshold=INFO
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.BufferSize=10
#log4j.appender.DATABASE.URL=jdbc:microsoft:sqlserver://10.170.88.4:1433;DatabaseName=iamconfig
#log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#log4j.appender.DATABASE.user=iamconfig
#log4j.appender.DATABASE.password=iamconfig
#log4j.appender.DATABASE.sql=INSERT INTO wap_mail_jws_log  VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m', '')
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

# 输出到文件的appender
log4j.appender.userSynR=org.apache.log4j.RollingFileAppender
log4j.appender.userSynR.File=c:/iamSystem_userSynR.log
log4j.appender.userSynR.MaxFileSize=500KB
log4j.appender.userSynR.MaxBackupIndex=1
#log4j.appender.userSynR.layout=org.apache.log4j.HTMLLayout
log4j.appender.userSynR.layout=org.apache.log4j.PatternLayout
log4j.appender.userSynR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

# 输出到文件Appender
log4j.appender.userTelnet=org.apache.log4j.RollingFileAppender
log4j.appender.userTelnet.File=c:/iamTelnet.log
log4j.appender.userTelnet.MaxFileSize=500KB
log4j.appender.userTelnet.MaxBackupIndex=1
#log4j.appender.userTelnet.layout=org.apache.log4j.HTMLLayout
log4j.appender.userTelnet.layout=org.apache.log4j.PatternLayout
log4j.appender.userTelnet.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

log4j倒底能提供我们什么功能,我们来æ€È»“一下:
1 æ ÒŽ®æˆ‘们讄¡½®çš„æ—¥å¿—çñ”别,控制日志的输å‡?br />2 日志的输出支持自增式文äšgåQŒæŽ§åˆ¶å°åQŒæ•°æ®åº“åQŒè¿˜å¯ä»¥æ‰©å±•ã€?br />3 日志的属æ€?当按"."命名有ç‘ôæ‰¿æ€§ï¼Œæˆ‘ä»¬å¸æ€‹É用类名来命名日志
2 通过上面的介始,我们¾l™ä¸€ä¸ªå·¥½E‹æ²¡æœ‰log4j的工½E‹å¢žåŠ log4j功能的。根据下面几个步骤,你将很轻杄¡š„完成ã€?br />1 下蝲log4jçš„jaråŒ?˜q™ä¸ªä¸ç”¨å¤šè¯´äº?
2 ¾~–写一个log4j.properties 属性文ä»Óž¼Œæ”‘Öˆ°ä½ çš„æºæ–‡ä»¶çš„æ ¹ä¸‹åQŒå†æ ÒŽ®å…·ä½“修改
3 在每一个需要记录日的类中,增加一个类成员
    // 初始化日志处理类
  Logger log = Logger.getLogger(¾cÕd.class.getName());

4 在你需要打日志信息的代码中åQŒå¦‚下写å‡?br />打info信息
Log4j.infor("");
打debug信息
If(log4j.isDebuged()) {
  Log4j.debug("");
}
打error信息
Log4j.error("");


]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ¸ß¶û·ò| »ÆÁúÏØ| ÁúÓÎÏØ| ÄϽ­ÏØ| ÎýÁÖ¹ùÀÕÃË| ´ïÀ­ÌØÆì| ÁÙÒÊÊÐ| ÈÙ²ýÏØ| ºôͼ±ÚÏØ| ÄÏ»ªÏØ| ¾®ÚêÏØ| ÄÉÓºÏØ| ÍÁÄ¬ÌØ×óÆì| ÁúÓÎÏØ| ƽÓßÏØ| °ÄÃÅ| ÍòÖÝÇø| µÂ°²ÏØ| ´ó¹ØÏØ| Î÷²Ø| ¸ùºÓÊÐ| Т²ýÏØ| Ôý´ïÏØ| ±¨¼Û| ËàÄþÏØ| Î¼Ô´ÏØ| ÎÚº£ÊÐ| ÅíË®| ¿ËÀ­ÂêÒÀÊÐ| ÎâÇÅÏØ| ´ïÖÝÊÐ| ÄÏÄþÊÐ| ¸ßÐÛÏØ| ×ÊÑôÊÐ| ÇúÎÖÏØ| ÑÎÔ´ÏØ| ½¨ºþÏØ| °²ÈûÏØ| ÅíÔóÏØ| ÉòÇðÏØ| ÔÀÆÕºþÏØ|