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

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類(85)

          隨筆檔案(89)

          文章分類(14)

          文章檔案(42)

          收藏夾(37)

          java

          oracle

          Sybase

          搜索

          •  

          積分與排名

          • 積分 - 211060
          • 排名 - 265

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 濮阳市| 平塘县| 古交市| 竹北市| 汉源县| 洮南市| 邵东县| 于田县| 米脂县| 嘉义县| 洛川县| 左权县| 临西县| 延庆县| 宾阳县| 宝丰县| 霍林郭勒市| 长岛县| 手游| 潼南县| 寻乌县| 巍山| 孝感市| 马边| 闻喜县| 咸宁市| 江陵县| 葵青区| 辽阳县| 东山县| 林周县| 江华| 偃师市| 乳山市| 沂水县| 葫芦岛市| 德保县| 宁明县| 嵊州市| 奉化市| 连山|