Log4j记录日志到数据库的一个实例

#log4j.rootLogger=error,stdout,info,debug,error
log4j.rootCategory=info,stdout,database
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n

#下面是配置将日志信息插入数据库,
#配置输出目标为数据库(假如要将日志在控制台输出,配置为log4j.appender. stdout =org.apache.log4j.ConsoleAppender;将日志写入文件,配置为log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
#这样的配置在许多地方都要有,需要可查有关资料),当然你也可以自己扩展org.apache.log4j.jdbc.JDBCAppender这个类,只需要在这里配置就可以了例如我们配置我自己扩展的MyJDBCAppender,配置为#log4j.appender.db=com.neam.commons.MyJDBCAppender

log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.layout=org.apache.log4j.PatternLayout
log4j.appender.database.driver=com.mysql.jdbc.Driver
#设置要将日志插入到数据库的驱动
log4j.appender.database.Threshold=info
#定义什么级别的错误将写入到数据库中
log4j.appender.database.BufferSize=1
#设置缓存大小,就是当有1条日志信息是才忘数据库插一次
log4j.appender.database.URL=jdbc\:mysql\://120.27.128.207\:3306/test?characterEncoding\=UTF8&zeroDateTimeBehavior\=convertToNull
log4j.appender.database.user=root
log4j.appender.database.password=zte.12345
log4j.appender.database.sql=insert into WDZLOG (Class,Mothod,createTime,LogLevel,LogLine,MSG) values ('%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL    
%r 输出自应用启动到输出该log信息耗费的毫秒数    
%c 输出所属的类目,通常就是所在类的全名    
%t 输出产生该日志事件的线程名    
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”    
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921    
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)  
DROP TABLE IF EXISTS `WDZLOG`;
CREATE TABLE `WDZLOG` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `Class` varchar(255) DEFAULT NULL,
  `Mothod` varchar(255) DEFAULT NULL,
  `CreateTime` varchar(255) DEFAULT NULL,
  `LogLevel` varchar(20) DEFAULT NULL,
  `LogLine` varchar(255) DEFAULT NULL,
  `MSG` varchar(555) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;


 

猜你喜欢

转载自blog.csdn.net/coder_zyz/article/details/79014532