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 水煮三國 閱讀(2194) 評論(0)  編輯  收藏 所屬分類: Log4J

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


          網站導航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類(85)

          隨筆檔案(89)

          文章分類(14)

          文章檔案(42)

          收藏夾(37)

          java

          oracle

          Sybase

          搜索

          •  

          積分與排名

          • 積分 - 211020
          • 排名 - 266

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 长阳| 吐鲁番市| 封开县| 卢龙县| 阿瓦提县| 临猗县| 宜兴市| 宁国市| 都兰县| 玛曲县| 南乐县| 玉环县| 黄大仙区| 北辰区| 东源县| 四子王旗| 庆阳市| 南澳县| 蒙自县| 宣化县| 栖霞市| 砚山县| 怀安县| 兴城市| 临高县| 华宁县| 新营市| 峨山| 廊坊市| 鄂尔多斯市| 宁乡县| 黔西| 武邑县| 崇礼县| 聂拉木县| 道孚县| 万年县| 宁城县| 榆林市| 正安县| 淮南市|