真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用log4j讓日志寫入數(shù)據(jù)庫-創(chuàng)新互聯(lián)

之前做的一個項目有這么個要求,在日志管理系統(tǒng)里,需要將某些日志信息存儲到數(shù)據(jù)庫里,供用戶、管理員查看分析。因此我就花了點(diǎn)時間搞了一下這一功能,各位請看。摘要:我們知道log4j能提供強(qiáng)大的可配置的記日志功能,有寫文件的、打印到控制臺的等等,但有時我們需要它把日志輸出到后臺數(shù)據(jù)庫中,log4j的強(qiáng)大的可擴(kuò)展性支持了這一點(diǎn),以下就是具體的實現(xiàn)。關(guān)鍵詞:log,log4j,日志,Java,DB,數(shù)據(jù)庫,slf4j前提:已經(jīng)配置好slf4j、log4j,能正常的往文件或控制臺寫日志。需求:將日志寫入到數(shù)據(jù)庫中。說明:使用log4j-1.2.17.jar,slf4j-api-1.7.5.jar,slf4j-log4j12-1.6.6.jar。

步驟一:

你得先能寫入數(shù)據(jù)庫,編寫一個能往數(shù)據(jù)庫日志表中寫數(shù)據(jù)的接口,無論是WebService還是什么,這里假如是一個Java接口。
Log是定義的一個日志類,使用LogService對象調(diào)用logBll.add(Log log)方法即能夠向數(shù)據(jù)庫中添加一條日志信息。
1 2 3 4 5 6 7 8 9 public class Log { private Long id; private String logNum; private String userId; private Calendar time; private int type; private String content; ... }

步驟二:

編寫一個繼承自AppenderSkeleton類的類,并重寫它的append方法。在append方法里面,即調(diào)用了上一步定義的Java接口,logBll.add(log),向數(shù)據(jù)庫中寫入一條日志信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class DBAppenderextends AppenderSkeleton {   private LogService logBLL =new LogService();   @Override protected void append(LoggingEvent arg0) { if (!arg0.getLoggerName().startsWith(Constants.ProjetNS)) return; Log log =new Log(); log.setType(arg0.getLevel().toInt()); log.setTime(Calendar.getInstance()); log.setUserId("system"); log.setContent(arg0.getRenderedMessage()); logBll.add(log); } }

步驟三:

改新log4j.properties配置文件,類似如下所示。

創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為恩陽企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計,恩陽網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Root logger option log4j.rootLogger=WARN, stdout, file, db   # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n   log4j.appender.file = org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File = logs/log.log log4j.appender.file.Append = true log4j.appender.file.Threshold = ERROR log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n   log4j.appender.db = com.aitanjupt.angel.log.DBAppender
以上文件主要增加配置了一個日志輸出方向,向數(shù)據(jù)庫輸出,并指定了具體的處理類。在需要輸出日志的地方,正常的使用:private Logger logger = LoggerFactory.getLogger(SpringServiceSupport.class);logger.error(ex);...即可。

來自為知筆記(Wiz)

作者:Angel 出處:http://www.cnblogs.com/wgp13x/ 歡迎轉(zhuǎn)載或分享,但請務(wù)必聲明文章出處。如果文章對您有幫助,希望你能推薦或關(guān)注。

王安琪,英文名Angel,南京郵電大學(xué)計算機(jī)應(yīng)用技術(shù)碩士學(xué)位。 熟悉Java、C#編程語言。專注于WebService、海量數(shù)據(jù)處理、搜索引擎技術(shù)、消息中間件技術(shù)、分布式文件存儲、.NET應(yīng)用程序開發(fā)、系統(tǒng)架構(gòu)設(shè)計。主要從事大數(shù)據(jù)管理系統(tǒng)的研發(fā),項目經(jīng)理,系統(tǒng)架構(gòu)師,就職于江蘇金陵科技集團(tuán)有限公司。

Email:aitanjupt@hotmail.com

QQ:289770363


名稱欄目:使用log4j讓日志寫入數(shù)據(jù)庫-創(chuàng)新互聯(lián)
標(biāo)題來源:http://weahome.cn/article/ceoiej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部