用Log4j 将日志保存到数据库

来源:互联网 发布:工作时间矩阵图 编辑:程序博客网 时间:2024/05/17 01:48

 

Log4j 的这一功能不错比较实用,  近段时间需要用到这个, 在此之前一直没怎么用过. 网上搜索一下, 还不少这样的文章,  随后又公司前段时间对开发人员做的培训资料翻个遍找到了. 现在将这些记录一下.  以备不时之需啊!

 

 

1. 创建日志表

 

CREATE TABLE [dbo].[LogInfo] (
 [GUID] [int] IDENTITY (1, 1) NOT NULL ,   -- 流水号
 [DATE] [datetime]NULL ,  --时间
 [THREAD] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,  --当前线程
 [LEVEL] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,--当前级别

 [CLASS] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,--当前java程序/方法

[MESSAGES] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NULL ---当前输出信息
)

 

2. 配置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=jdbc:microsoft:sqlserver://localhost;DatabaseName=LogInfoTest  

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

log4j.appender.DATABASE.user= sa

log4j.appender.DATABASE.password= 1234

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  说明:

 

1) %d输出日志时间点的日期或时间,

2) %t  产生该日志事件的线程名

3) %p 日志的log_level,如DEBUGWARN或者INFO

4) %c  输出所属的类目,通常就是所在类的全名,如“iNotes.Default”;

5) %m 日志的内容;

6) %l  输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。<SCRIPT language=javascript src="/js/google_ads_300_250.js"></SCRIPT><SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript></SCRIPT>

7) %n  输出一个回车换行符,Windows平台为“ ”,Unix平台为“

 

程序代码: 略(相信自己的能力, 这些应该可以写的出来)

 

原创粉丝点击