posts - 89,  comments - 98,  trackbacks - 0

          首先創建一數據庫表說明:

          字段 描述
          GUID 流水號
          DATE 時間
          THREAD 當前線程
          LEVEL 當前級別
          CLASS 當前java程序/方法
          MESSAGES 當前輸出信息

          log4j.properties如下配置:

           

          log4j.rootLogger=DEBUG,CONSOLE,DATABASE

          log4j.addivity.org.apache=true

          ########################

          # JDBC Appender

          #######################

          log4j.appender.DATABASE.Threshold=INFO

          log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender

          #log4j.appender.DATABASE.BufferSize=10

          log4j.appender.DATABASE.URL=you jdbcurl

          log4j.appender.DATABASE.driver=you jdbc driver

          log4j.appender.DATABASE.user=

          log4j.appender.DATABASE.password=

          log4j.appender.DATABASE.sql=INSERT INTO YOU_LOG_TABLE  VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')

          log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

           

          下面我們對“%d %t %p %l %m %n”一一講解:

          l         %d輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss},輸出類似:2005-7-19 17:49:27,剛好適合插入SQLServer

          l         %t  產生該日志事件的線程名

          l         %p 日志的log_level,如DEBUGWARN或者INFO

          l         %c  輸出所屬的類目,通常就是所在類的全名,如“iNotes.Default”;

          l         %m 日志的內容;

          l         %l  輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。如write2database.main(write2database.java:33)

          l         %n  輸出一個回車換行符,Windows平臺為“ ”,Unix平臺為“

           

          程序代碼:

           

          import sun.jdbc.odbc.*;

          import java.sql.*;

          import org.apache.log4j.Category;

          import org.apache.log4j.Level;

          import org.apache.log4j.Logger;

          import org.apache.log4j.PropertyConfigurator;

          import org.apache.log4j.jdbc.*;

          /*

              add for log4j: class Logger is the central class in the log4j package.

              we can do most logging operations by Logger except configuration.

              getLogger(...): retrieve a logger by name, if not then create for it.

              */

              static Logger logger = Logger.getLogger

                      ( write2database.class.getName () ) ;

                 

          /*

                  add for log4j: class BasicConfigurator can quickly configure the package.

                  print the information to console.

                  */

                  PropertyConfigurator.configure ( "log4j2database.properties" ) ;

                 

                  logger.info ( "just test" ) ;

           

          posted on 2006-03-03 21:31 水煮三國 閱讀(2197) 評論(0)  編輯  收藏 所屬分類: Log4J

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


          網站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(85)

          隨筆檔案(89)

          文章分類(14)

          文章檔案(42)

          收藏夾(37)

          java

          oracle

          Sybase

          搜索

          •  

          積分與排名

          • 積分 - 211649
          • 排名 - 266

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 广元市| 闵行区| 班玛县| 普陀区| 西贡区| 区。| 永靖县| 元朗区| 朝阳区| 南召县| 精河县| 浮山县| 家居| 根河市| 云浮市| 开江县| 小金县| 长子县| 凤翔县| 安康市| 阳泉市| 克拉玛依市| 贵定县| 陇川县| 阳春市| 余干县| 新建县| 广灵县| 云龙县| 博爱县| 会同县| 杨浦区| 万宁市| 新余市| 咸阳市| 大连市| 南康市| 南丹县| 比如县| 平安县| 海宁市|