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

          搜索

          •  

          積分與排名

          • 積分 - 211646
          • 排名 - 266

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 商河县| 汝城县| 托克逊县| 孝感市| 萨迦县| 卢氏县| 临清市| 册亨县| 正定县| 桐城市| 芜湖县| 云安县| 榆中县| 达尔| 柯坪县| 巨鹿县| 桓仁| 肥乡县| 武乡县| 额济纳旗| 万荣县| 霍林郭勒市| 永春县| 昔阳县| 正安县| 合肥市| 尉犁县| 利津县| 吴旗县| 华安县| 富民县| 东安县| 科尔| 新乡县| 贡山| 潞城市| 连平县| 桃园市| 寻甸| 正定县| 奇台县|