之前做的一個項目有這麼個要求,在日志管理系統裡,需要将某些日志資訊存儲到資料庫裡,供使用者、管理者檢視分析。是以我就花了點時間搞了一下這一功能
,各位請看。
摘要:我們知道log4j能提供強大的可配置的記日志功能,有寫檔案的、列印到控制台的等等,但有時我們需要它把日志輸出到背景資料庫中,log4j的強大的可擴充性支援了這一點,以下就是具體的實作 。 關鍵詞:log,log4j,日志,Java,DB,資料庫, slf4j 前提:已經配置好 slf4j、 log4j,能正常的往檔案或控制台寫日志 。 需求:将日志寫入到資料庫中 。 說明:使用log4j-1.2.17.jar,slf4j-api-1.7.5.jar,slf4j-log4j12-1.6.6.jar。
步驟一:
你得先能寫入資料庫,編寫一個能往資料庫日志表中寫資料的接口,無論是WebService還是什麼,這裡假如是一個Java接口。
Log是定義的一個日志類,使用LogService對象調用logBll.add(Log log)方法即能夠向資料庫中添加一條日志資訊。
1 2 3 4 5 6 7 8 9 | |
步驟二:
編寫一個繼承自 AppenderSkeleton類的類,并重寫它的append方法。在append方法裡面,即調用了上一步定義的Java接口,logBll.add(log),向資料庫中寫入一條日志資訊。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
步驟三:
改新log4j.properties配置檔案,類似如下所示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
以上檔案主要增加配置了一個日志輸出方向,向資料庫輸出,并指定了具體的處理類。 在需要輸出日志的地方,正常的使用: private Logger logger = LoggerFactory . getLogger (SpringServiceSupport. class ); logger .error( ex);...即可。
</span
轉載于:https://www.cnblogs.com/mingf123/p/3845030.html