編程之道

          無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

          Log4j自己配

          Log4j 主要由三大部分:

          1?????? 公共類 Logger : 負責處理日志記錄的大部分操作。 ?

          2?????? 公共接口 Appender : 負責控制日志記錄的輸出部分。它提供了多種輸出目標。

          2.1.1? FileAppender??????? 輸出到文本

          2.1.2? ConsoleAppender???? 輸出到控制臺

          2.1.3????? SMTPAppender??????? 輸出到郵件

          2.1.4? JDBCAppender?????? 輸出到數據庫

          3?????? 布局 Layout : 負責格式化 Appender 輸出。有三種布局模式:

          3.1????? SimpleLayout : 簡單格式 DEBUG - Here is some DEBUG 的日志輸出。

          3.2????? HTMLLayout : HTML 表格輸出。

          3.3????? PatternLayout : 自定義格式化的日志輸出。打印參數如下:

          3.3.1? %m 輸出代碼中指定的消息

          3.3.2? %p 輸出優先級,即 DEBUG INFO WARN ERROR FATAL

          3.3.3? %r 輸出自應用啟動到輸出該 log 信息耗費的毫秒數

          3.3.4? %c 輸出所屬的類目,通常就是所在類的全名

          3.3.5? %t 輸出產生該日志事件的線程名

          3.3.6? %n 輸出一個回車換行符, Windows 平臺為“ \r\n” Unix 平臺為“ \n”

          3.3.7? %d 輸出日志時間點的日期或時間,默認格式為 ISO8601 ,也可以在其后指定格式,比如: %d{yyy MMM dd HH:mm:ss,SSS} ,輸出類似: 2002 10 18 22 10 28 921

          ?

          log4j.properties 的配置如下:

          ####?debug是輸出級別,分別是debug<info<warn<error<fatal
          ####?R是輸出到log
          , cmd是輸出到控制臺 , htm輸出到HTML
          log4j.rootCategory
          = debug , ?R , ?cmd , ?htm

          ##控制臺輸出
          log4j.appender.cmd
          = org.apache.log4j.ConsoleAppender
          #布局格式
          log4j.appender.cmd.layout
          = org.apache.log4j.PatternLayout
          log4j.appender.cmd.layout.ConversionPattern
          = ?%-2r? [ %t ] ?%-6p?%c?-?%m%n

          ##控制臺輸出
          log4j.appender.htm
          = org.apache.log4j.FileAppender
          log4j.appender.htm.File
          = example.html
          log4j.appender.htm.layout
          = org.apache.log4j.HTMLLayout

          ##log格式輸出
          #log4j.appender.R
          = org.apache.log4j.FileAppender
          #log4j.appender.R
          = org.apache.log4j.DailyRollingFileAppender
          log4j.appender.R
          = org.apache.log4j.RollingFileAppender
          log4j.appender.R.File
          = test.log
          #最大日志大小
          log4j.appender.R.MaxFileSize
          = 100KB???
          #最大備份數
          log4j.appender.R.MaxBackupIndex
          = 1 ????
          log4j.appender.R.layout
          = org.apache.log4j.SimpleLayout

          代碼如下:

          package ?com.hmy.Log4JTest;

          import ?java.io.File;
          import ?org.apache.log4j.Logger;
          import ?org.apache.log4j.PropertyConfigurator;

          public ? class ?Log4jTest?{
          ????
          ????
          static ?{
          ????????
          // ?自動快速地使用缺省Log4j環境。
          ????????
          // ?BasicConfigurator.configure();
          ????????
          // ?讀取使用Java的特性文件編寫的配置文件。
          ????????
          // ?PropertyConfigurator.configure?("/WEB-INF/log4j.properties");
          ????????
          // ?讀取XML形式的配置文件。
          ????????
          // ?DOMConfigurator.configure?("/WEB-INF/log4j.xml");
          ????????String?file? = ? new ?String( " E:/project?by?eclipse/test/com/hmy/Log4JTest/log4j.properties " );??????????????
          ???????? if ?(file? != ? null )?{
          ????????????PropertyConfigurator.configure(file);
          ????????}
          ????}
          ????
          ????
          static ?Logger?logger? = ?Logger.getLogger(Log4jTest. class );
          ????
          ????
          public ? static ? void ?main(String[]?aaa)?{
          ??????????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 " );
          ????}
          }

          下面是網上找的一個配置文件,擇其一二使用就夠用了。

          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=web@www.wuset.com
          log4j.appender.MAIL.SMTPHost=www.wusetu.com
          log4j.appender.MAIL.Subject=Log4J?Message
          log4j.appender.MAIL.To=web@www.wusetu.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

          #自定義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?=?corlin@cybercorlin.net

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

          ?

          ?

          posted on 2006-04-12 10:30 瘋流成性 閱讀(376) 評論(0)  編輯  收藏 所屬分類: j2se


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


          網站導航:
           
          主站蜘蛛池模板: 绥芬河市| 绥滨县| 磐石市| 开化县| 五常市| 阿拉善左旗| 和静县| 金寨县| 麻阳| 福鼎市| 铜山县| 威远县| 讷河市| 泗洪县| 巴彦县| 乐清市| 闸北区| 鞍山市| 安达市| 长汀县| 文水县| 渝中区| 岗巴县| 衡山县| 陆良县| 常宁市| 赤峰市| 东丽区| 皋兰县| 崇左市| 百色市| 丰镇市| 远安县| 灵石县| 莱芜市| 怀仁县| 伊金霍洛旗| 通许县| 客服| 汪清县| 临武县|