一、前提条件

系统必须是使用LOG4J进行日志管理,否则方法无效。

系统必须包含commons-logging-xxx.jar,log4j-xxx.jar这两个JAR包,XXX为版本号。

二、操作步骤

1、创建日志表

要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表内字段为日志

的一个主要属性包括:操作类,执行方法,打印时间,日志级别,日志内容。

CREATE TABLE `reslog` (
`LOGID` int(20) NOT NULL AUTO_INCREMENT,
`CLASS` varchar(200) DEFAULT NULL,
`METHOD` varchar(100) DEFAULT NULL,
`CREATETIME` date DEFAULT NULL,
`LOGLEVEL` varchar(50) DEFAULT NULL,
`MSG` varchar(4000) DEFAULT NULL,
PRIMARY KEY (`LOGID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

因为存储的类为类的全部路径,所以CLASS字段长度需要比较大。

2、日志管理配置

LOG4J主要有两种配置文件.properties和.xml,这里以properties文件为基础来讲

述,关于XML文件的配置,相信大家看完下面的介绍也一样能轻松完成。

通常在LOG4J.PROPERTIES文件的第一行是:

log4j.rootLogger= XXX,这句是控制日志的输出,如果想吧日志输出到数据库,

则需要在XXX中添加“database”,如log4j.rootLogger=INFO,stdout,database。上面

这句就是把日志中级别为INFO的信息输出到STDOUT和database中。

配置好如上的信息,LOG4J就知道用户是想把信息存入数据库,接下来我们就要来

配置数据库的相关信息(包括缓存,数据库连接信息,和执行SQL),配置信息如下:

log4j.appender.database=org.apache.log4j.ConsoleAppender
log4j.appender.database.layout=org.apache.log4j.PatternLayout
log4j.appender.database.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.driver=com.mysql.jdbc.Driver
log4j.appender.database.URL=jdbc:mysql://127.0.0.1:3306/tax_sjz?useUnicode=true&characterEncoding=UTF-8
log4j.appender.database.user=root
log4j.appender.database.password=123456
log4j.appender.database.sql=insert into reslog (class,method,createtime,loglevel,msg) VALUES ('%C','%M','%d{yyyy-MM-dd hh:mm:ss}','%p','%m')
log4j.appender.database.layout=org.apache.log4j.PatternLayout

log4j的配置中不允许有空格出现,

如果系统中的部分组件打印信息中包含"'"(单引号),系统会报“确实逗号”的错误,搞了半天也解决不了,还好打印的都是INFO,把打印级别设为“WARN”就OK了

最新文章

  1. ORACLE发送带附件邮件的二三事之一
  2. 用jquery实现抽奖小程序
  3. xmind的第七天笔记
  4. Notepad++配置Python开发环境
  5. 为win7添加ubuntu的启动引导项
  6. 自定义ExpressionBuilder
  7. Python学习(4)——for语句
  8. X86架构CPU的逻辑原理
  9. 【转载]】Microsoft SQL Server, 错误:4064的解决方法
  10. HDU_1401——同步双向BFS,八进制位运算压缩,map存放hash
  11. 主持汇 - NEXT
  12. 【原】Spring和Dubbo整合案例和过程
  13. pageX,clientX,screenX,offsetX区别
  14. 团队作业10--Beta阶段项目复审
  15. 谈谈promise
  16. Spring整合JDBC及事务处理
  17. 使用Dialog实现全局Loading加载框
  18. HBASE的Java与Javaweb(采用MVC模式)实现增删改查附带源码
  19. extern的使用详解(多文件编程)——C语言
  20. 四、Logisitic Regssion练习(转载)

热门文章

  1. shp系列(二)——利用C++进行shp文件的读(打开)
  2. /etc/rsyslog.conf配置文件说明
  3. Codeforces Round #450
  4. 在redhat6.4上编译z3求解器
  5. C# 学习笔记_类
  6. (转)基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts
  7. children ie8下获取错误
  8. 优动漫PAINT用户界面介绍
  9. Django使用中常见的错误
  10. SQL表查询