亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

[Java]log4j寫SQL Server數(shù)據(jù)庫日志的統(tǒng)一寫法

系統(tǒng) 2010 0

[Java]log4j SQL Server 數(shù)據(jù)庫日志的統(tǒng)一寫法

編寫者

日期

關(guān)鍵詞

鄭昀 @ultrapower

2005-7-19

Java log4j sqlserver

?

SQL Server 2000 Driver for JDBC Service Pack 3 的下載

之前需要注意一點, sql server 同樣必須打上了 sp3 的補丁,然后才能與 jdbc for sqlserver sp3 連接。如果是 "Error establishing socket" 錯誤 , 很有可能是要在 sql 上打 sp3 補丁。

下面是對運行 log4j MS SQL Server 2000 SP3 日志的計算機的要求:

  • ? SQL Server 2000 Driver for JDBC Service Pack 3 您可以從以下位置下載并安裝適應(yīng)于 SQLServer SP3 jdbc 版本:
    瀏覽

http://www.microsoft.com/downloads/details.aspx?familyid=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en

如果只是 log4j sql server ,我們只需要下載這個包中的 mssqlserver.tar

即可,不必安裝 jdbc

http://www.microsoft.com/downloads/info.aspx?na=46&p=3&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f4%2f1%2fd%2f41d3e9c0-64d1-451e-947b-7a4cba273b2d%2fmssqlserver.tar

下載信息為:

l ???????? Download files belowQuick InfoVersion: ? 2.2.0040

l ???????? Date Published: ? 7/6/2004

l ???????? Language: ? English

l ???????? Download Size: ? 2883 KB*

得到 jar

mssqlserver.tar 解壓縮出:

l ???????? msbase.jar

l ???????? msutil.jar

l ???????? mssqlserver.jar

如果是做基于 Tomcat web 應(yīng)用,請放在 tomcat common\lib 文件夾下。并讓你的工程加入對它們的引用。

數(shù)據(jù)庫日志表的準(zhǔn)備

在數(shù)據(jù)庫中準(zhǔn)備一個這樣的表, jws_log

生成腳本:

CREATE TABLE [dbo].[jws_log] (

??? [nId] [int] IDENTITY (1, 1) NOT NULL ,

??? [dtDate] [datetime] NOT NULL ,

??? [sThread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,

??? [sLevel] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,

??? [sLogger] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,

??? [sMessage] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NOT NULL ,

??? [sException] [varchar] (4000) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

GO

?

ALTER TABLE [dbo].[jws_log] WITH NOCHECK ADD

??? CONSTRAINT [PK_jws_log] PRIMARY KEY ? CLUSTERED

??? (

??????? [nId]

??? ) ? ON [PRIMARY]

GO

其中, sLevel 字段代表日志的級別; sLogger 字段代表日志是由哪一個類或者文件產(chǎn)生的,如

iNotes.Default.Page_Load(c:\mailsource\default.aspx.cs:269) ”; sMessage 字段代表日志的內(nèi)容。

工程中 Log4J 的配置

對工程的屬性文件,需要如此配置:

? 配置:

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=jdbc:microsoft:sqlserver://192.168.1.111:1433;DatabaseName=ultra_domino

log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver

log4j.appender.DATABASE.user=sa

log4j.appender.DATABASE.password=

log4j.appender.DATABASE.sql=INSERT INTO wap_mail_jws_log ? 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 輸出日志時間點的日期或時間,默認(rèn)格式為 ISO8601 ,也可以在其后指定格式,比如: %d{yyyy-MM-dd HH:mm:ss} ,輸出類似: 2005-7-19 17:49:27 ,剛好適合插入 SQLServer ;

l ???????? %t ? 產(chǎn)生該日志事件的線程名

l ???????? %p 日志的 log_level ,如 DEBUG 、 WARN 或者 INFO ;

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

l ???????? %m 日志的內(nèi)容;

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

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

工程中調(diào)用 Log4J

工程中的寫法:

? 代碼:

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" ) ;

?

?????? 運行起來,你就會看到有這樣的 sql 語句被執(zhí)行了:

?????? INSERT INTO jws_log ? VALUES ('2005-07-19 17:48:50', 'main', 'INFO', 'write2database.main(write2database.java:33)', 'just test', '')

?

編寫者

日期

關(guān)鍵詞

鄭昀 @ultrapower

2005-7-19

Java log4j sqlserver

?



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=429289


[Java]log4j寫SQL Server數(shù)據(jù)庫日志的統(tǒng)一寫法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 香蕉久热 | 五月婷婷伊人网 | 色综合婷婷| 99视频一区 | 香蕉视频网站在线播放 | 国产成人久视频免费 | 日韩欧美综合在线二区三区 | 婷婷综合久久狠狠色99h | 97在线亚洲 | 开心久久婷婷综合中文字幕 | 欧洲美女高清一级毛片 | 免费看成人国产一区二区三区 | 一区亚洲 | 国产高清视频 | 久久毛片 | 亚洲欧美强伦一区二区另类 | 毛片免费毛片一级jjj毛片 | 亚洲美女啪啪 | 老子影院伦不卡欧美 | 91精品视频在线看 | 久久99欧美 | 在线免费观看一级毛片 | h片在线播放| 久久久久免费视频 | 久久天堂视频 | 在线免费毛片 | 毛片线看免费观看 | 亚洲精品不卡久久久久久 | 国产免费久久精品44 | 噜噜噜天天躁狠狠躁夜夜精品 | 欧美精品国产一区二区三区 | 国产免费无遮挡精品视频 | 亚洲国产精品专区 | 99热久久这里只精品国产9 | 2021在线永久免费视频 | 99久久久久久久 | 国产成人精品久久亚洲高清不卡 | 91精品在线免费 | 日本一级大黄毛片一级 | 午夜久久久精品 | 国产91精品福利在线观看 |