<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 8,  comments - 174,  trackbacks - 0
    一、log4j配置,一般可以采用兩種方式,資源文件和XML文件。

    1、屬性文件

    log4j.rootLogger=DEBUG,stdout,R

    ##日志文件的名稱(定義為控制臺輸出)
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    ##靈活定義輸出格式
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    ##輸出格式定義
    log4j.appender.stdout.layout.ConversionPattern=[%t]?%-5p?%-20c{2}?-?%m?%n?

    ##日志文件的名稱(定義為文件輸出)
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    ##日志文件路徑
    log4j.appender.R.File=D:/log/wenhan-uk.log
    ##
    log4j.appender.R.ImmediateFlush=true
    ##日志文件的大小
    log4j.appender.R.MaxFileSize=100KB
    ##
    log4j.appender.R.MaxBackupIndex=1
    ##文件輸出方式
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    ##輸出格式定義
    log4j.appender.R.layout.ConversionPattern=%d{ABSOLUTE}?[%t]?%-5p?%-30c{3}?%x?-?%m?%n


    ###############################??配置根Logger??############################
    語法:??log4j.rootLogger?=?[?level?]?,?appenderName,?appenderName?…???????????
    參數:??
    ???????1、?level:?????????log4j級別,是日志記錄的優先級。??????????????????????????????????????
    ???????2、?appenderName:?日志信息輸出處,您可以同時指定多個輸出目的地,可以是文件、控制臺等。
    例子:??log4j.rootLogger=DEBUG,R??????DEBUG為級別?????A1為輸出地????????????????????????????????

    ###############################??log4j級別??###############################
    級別:??????
    ???????FATAL??-??0????指出每個嚴重的錯誤事件將會導致應用程序的退出。
    ???????ERROR??-??3????指出雖然發生錯誤事件,但仍然不影響系統的繼續運行。
    ???????WARN???-??4????表明會出現潛在錯誤的情形。
    ???????INFO???-??6????表明消息在粗粒度級別上突出強調應用程序的運行過程。
    ???????DEBUG??-??7????指出細粒度信息事件對調試應用程序是非常有幫助的。


    ###############################??appender??###############################
    類別:
    ???????org.apache.log4j.ConsoleAppender???????????????????????(控制臺)
    ???????org.apache.log4j.FileAppender??????????????????????????(文件)
    ???????org.apache.log4j.DailyRollingFileAppender??????????????(每天產生一個日志文件)
    ???????org.apache.log4j.RollingFileAppender???????????????????(文件大小到達指定尺寸的時候產生一個新的文件)
    ???????org.apache.log4j.WriterAppender??????????????????????(將日志信息以流格式發送到任意指定的地方)?
    例子:
    ???????log4j.appender.A1=org.apache.log4j.ConsoleAppender???(指定A1的appender為控制臺)
    ???
    ##############################??layout??##################################
    類別:
    ???????org.apache.log4j.HTMLLayout??????????????????????????(以HTML表格形式布局)
    ???????org.apache.log4j.PatternLayout???????????????????????(可以靈活地指定布局模式)
    ???????org.apache.log4j.SimpleLayout????????????????????????(包含日志信息的級別和信息字符串)
    ???????org.apache.log4j.TTCCLayout??????????????????????????(包含日志產生的時間、線程、類別等等信息)

    ########################??配置log4j輸出地appender??##########################
    語法:

    ???????log4j.appender.[appenderName]?=?appender?class????????(指定輸出地所對應的class)
    ???????log4j.appender.[appenderName].option1?=?value1?????????(設定第一個參數)
    ?????????????????參數包含文件路徑、輸出格式等等?????????????????????
    ???????log4j.appender.[appenderName].optionN?=?valueN?????????(設定第N個參數)
    例子:
    ???????log4j.appender.stdout=
    ???????????????????????org.apache.log4j.ConsoleAppender?????????(指定stdout輸出地為控制臺)
    ???????log4j.appender.stdout.layout=
    ???????????????????????org.apache.log4j.PatternLayout???????????(定義為靈活樣式輸出)
    ???????log4j.appender.stdout.layout.ConversionPattern=
    ???????????????????????[%t]?%-5p?%-20c{2}?-?%m?%n???????????????(指定日志輸出格式)
    ?
    ########################??定義靈活輸出格式??###################################??????
    參數:
    ???????-X號:??X信息輸出時左對齊;
    ???????%p:????日志信息級別
    ???????%d{}:??日志信息產生時間
    ???????%c:????日志信息所在地(類名)
    ???????%m:????產生的日志具體信息
    ???????%n:????輸出日志信息換行????

    ##############################??其他設置??###################################???
    ???????
    關于Log4j比較全面的配置
    LOG4J的配置之簡單使它遍及于越來越多的應用中了:Log4J配置文件實現了輸出到控制臺、文件、回滾文件、發送日志郵件、輸出到數據庫日志表、自定義標簽等全套功能。擇其一二使用就夠用了,?

    log4j.rootLogger=DEBUG,CONSOLE,A1,im?
    log4j.addivity.org.apache=true?

    ?

    #?應用于控制臺?

    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender?
    log4j.appender.Threshold=DEBUG?
    log4j.appender.CONSOLE.Target=System.out?
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout?
    log4j.appender.CONSOLE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n?
    #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]?n%c[CATEGORY]%n%m[MESSAGE]%n%n?


    #應用于文件?

    log4j.appender.FILE=org.apache.log4j.FileAppender?
    log4j.appender.FILE.File=file.log?
    log4j.appender.FILE.Append=false?
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout?
    log4j.appender.FILE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n?
    #?Use?this?layout?for?LogFactor?5?analysis?

    ?

    #?應用于文件回滾?

    log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender?
    log4j.appender.ROLLING_FILE.Threshold=ERROR?
    log4j.appender.ROLLING_FILE.File=rolling.log?
    log4j.appender.ROLLING_FILE.Append=true?
    log4j.appender.ROLLING_FILE.MaxFileSize=10KB?
    log4j.appender.ROLLING_FILE.MaxBackupIndex=1?
    log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout?
    log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n?


    #應用于socket?
    log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender?
    log4j.appender.SOCKET.RemoteHost=localhost?
    log4j.appender.SOCKET.Port=5001?
    log4j.appender.SOCKET.LocationInfo=true?
    #?Set?up?for?Log?Facter?5?
    log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout?
    log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n?


    #?Log?Factor?5?Appender?
    log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender?
    log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000?

    ?

    #?發送日志給郵件?

    log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender?
    log4j.appender.MAIL.Threshold=FATAL?
    log4j.appender.MAIL.BufferSize=10?
    log4j.appender.MAIL.From=xxx@www.xxx.com?
    log4j.appender.MAIL.SMTPHost=www.wusetu.com?og4j.appender.MAIL.Subject=Log4J?Message?
    log4j.appender.MAIL.To=xxx@www.xxx.com?
    log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout?
    log4j.appender.MAIL.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n?

    ?

    #?用于數據庫?
    log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender?
    log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test?
    log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver?
    log4j.appender.DATABASE.user=root?
    log4j.appender.DATABASE.password=?
    log4j.appender.DATABASE.sql=INSERT?INTO?LOG4J?(Message)?VALUES?('[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n')?
    log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout?
    log4j.appender.DATABASE.layout.ConversionPattern=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n?


    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender?
    log4j.appender.A1.File=SampleMessages.log4j?
    log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'?
    log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout?


    輸出到2000NT日志
    ?把Log4j壓縮包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目錄下

    ?log4j.logger.NTlog=FATAL,?A8
    ?#?APPENDER?A8
    ?log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender
    ?log4j.appender.A8.Source=JavaTest
    ?log4j.appender.A8.layout=org.apache.log4j.PatternLayout
    ?log4j.appender.A8.layout.ConversionPattern=%-4r?%-5p?[%t]?%37c?%3x?-?%m%n


    #自定義Appender?

    log4j.appender.im?=?net.cybercorlin.util.logger.appender.IMAppender?

    log4j.appender.im.host?=?mail.cybercorlin.net?
    log4j.appender.im.username?=?username?
    log4j.appender.im.password?=?password?
    log4j.appender.im.recipient?=?xxx@xxx.net?

    log4j.appender.im.layout=org.apache.log4j.PatternLayout?
    log4j.appender.im.layout.ConversionPattern?=[framework]?%d?-?%c?-%-4r?[%t]?%-5p?%c?%x?-?%m%n

    #####################################??end??######################################?????????
    ???????
    ???????

    ???????

    2、XML文件例子

    <?xml?version="1.0"?encoding="GB2312"??>
    <!DOCTYPE?log4j:configuration?SYSTEM?"log4j.dtd">

    <log4j:configuration?xmlns:log4j="http://jakarta.apache.org/log4j/">

    ???
    <appender?name="com.unmi.all"?class="org.apache.log4j.RollingFileAppender">
    ???
    ??????
    <!--?設置通道ID:com.unmi.all和輸出方式:org.apache.log4j.RollingFileAppender?-->
    ??????
    <param?name="File"?value="E:/study/log4j/all.output.log"?/><!--?設置File參數:日志輸出文件名?-->
    ??????
    <param?name="Append"?value="false"?/><!--?設置是否在重新啟動服務時,在原有日志的基礎添加新日志?-->
    ??????
    <param?name="MaxBackupIndex"?value="10"?/>?
    ??????
    <layout?class="org.apache.log4j.PatternLayout">
    ??????????
    <param?name="ConversionPattern"?value="%p?(%c:%L)-?%m%n"?/><!--?設置輸出文件項目和格式?-->
    ??????
    </layout>
    ???
    </appender>
    ???
    ???
    <appender?name="com.unmi.zcw"?class="org.apache.log4j.RollingFileAppender">
    ??????
    <param?name="File"?value="E:/study/log4j/unmi.output.log"?/>
    ??????
    <param?name="Append"?value="true"?/>
    ??????
    <param?name="MaxFileSize"?value="10240"?/>?<!--?設置文件大小?-->
    ??????
    <param?name="MaxBackupIndex"?value="10"?/>?
    ??????
    <layout?class="org.apache.log4j.PatternLayout">
    ??????????
    <param?name="ConversionPattern"?value="%p?(%c:%L)-?%m%n"?/>
    ??????
    </layout>
    ???
    </appender>
    ???
    ???
    <logger?name="unmi.log">?<!--?設置域名限制,即zcw.log域及以下的日志均輸出到下面對應的通道中?-->
    ??????
    <level?value="debug"?/><!--?設置級別?-->
    ??????
    <appender-ref?ref="com.unmi.zcw"?/><!--?與前面的通道id相對應?-->
    ???
    </logger>
    ???
    ???
    <root>?<!--?設置接收所有輸出的通道?-->
    ??????
    <appender-ref?ref="com.unmi.all"?/><!--?與前面的通道id相對應?-->
    ???
    </root>

    </log4j:configuration>


    二、配置文件加載方法:
    ?
    對于properties文件,一般都不用手工去加載,由Log4j第一次初始化時自動就加載了
    import?org.apache.log4j.Logger;
    import?org.apache.log4j.PropertyConfigurator;
    import?org.apache.log4j.xml.DOMConfigurator;

    public?class?Log4jApp?{
    ???
    public?static?void?main(String[]?args)?{
    ???????DOMConfigurator.configure(
    "E:/study/log4j/log4j.xml");//加載.xml文件
    ???????
    //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加載.properties文件

    ???????Logger?log
    =Logger.getLogger("com.unmi.test");
    ???????log.info(
    "測試");
    ???}

    }


    ?????????????????????############################???????end ??????? ##############################
    posted on 2007-08-15 17:00 月月鳥 閱讀(2536) 評論(7)  編輯  收藏 所屬分類: J2EE

    FeedBack:
    # re: LOG4J 之經典篇
    2008-11-28 11:15 | sunchuanfu
    lz寫的很詳細啊,收藏了先。  回復  更多評論
      
    # re: LOG4J 之經典篇
    2010-07-01 22:38 | 月月鳥
    http://wxinpeng.javaeye.com/blog/552735
    Spring的AOP事務管理默認針對unchecked異常回滾  回復  更多評論
      
    # re: LOG4J 之經典篇
    # re: LOG4J 之經典篇
    # re: LOG4J 之經典篇
    2010-08-23 23:21 | 月月鳥
    讓開發自動化系列專欄
    LiquiBase
    http://www.ibm.com/developerworks/cn/java/j-ap/  回復  更多評論
      
    # re: LOG4J 之經典篇
    # re: LOG4J 之經典篇

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(5)

    隨筆分類(8)

    隨筆檔案(8)

    文章分類(1)

    文章檔案(1)

    其他

    娛樂

    技術

    搜索

    •  

    積分與排名

    • 積分 - 116204
    • 排名 - 504

    最新隨筆

    最新評論

    評論排行榜

    主站蜘蛛池模板: 中文亚洲AV片不卡在线观看 | 久久久久亚洲精品成人网小说| 国产亚洲综合久久| 嫩草影院免费观看| 亚洲AV永久无码精品网站在线观看 | 亚洲av日韩av无码黑人| a毛片久久免费观看| 亚洲AV综合色一区二区三区| 日本一区午夜艳熟免费| 亚洲国产综合无码一区| 四虎影视成人永久免费观看视频| 亚洲v高清理论电影| 国产大片免费网站不卡美女| 亚洲一级片在线播放| 高清国语自产拍免费视频国产| 亚洲a无码综合a国产av中文| yy6080亚洲一级理论| 中文字幕视频免费在线观看 | 亚洲影院天堂中文av色| 日韩在线a视频免费播放| 精品韩国亚洲av无码不卡区| 精品国产亚洲一区二区在线观看 | 国产日韩AV免费无码一区二区| 亚洲精品高清久久| 成年性羞羞视频免费观看无限| 国产精品亚洲精品日韩电影| 国产亚洲精品精品国产亚洲综合| 亚洲午夜免费视频| 亚洲av永久中文无码精品| 久久久久亚洲精品男人的天堂| 91精品免费高清在线| 国产亚洲福利一区二区免费看| 久久综合日韩亚洲精品色| 在线观看免费宅男视频| 国产免费播放一区二区| 亚洲一级毛片免费看| 亚洲日本中文字幕天堂网| 99久久国产热无码精品免费| 成人免费夜片在线观看| 亚洲专区一路线二| 亚洲情XO亚洲色XO无码|