使用log4j把日志写到mysql数据库
2015-06-29 22:20
676 查看
log4j可以支持将log输出到文件,数据库,甚至远程服务器,本教程以mysql数据库为例来讲解:
表4-1日志表(log)
数据库创建:
Create database log;
切换数据库:
Use log;
创建表:
File->new ->java Project:
新建一个测试类Test:
新建一个lib文件,导入log4j的包:
配置log4j配置文件
测试类编码:
数据库信息:
改进,整合控制台、日志文件、数据库三个输出:
配置文件代码:
如需要源代码,请发帖索要:
http://tieba.baidu.com/f?kw=%C8%ED%BC%FE%C6%B5%B5%C0&fr=home
1.数据库设计
数据库表表4-1日志表(log)
字段名 | 字段解释 | 数据类型 | 数据 长度 | 是否为空 | 是否为主键 | 是否为外键 |
id | 日志编号 | bigint | 20 | 否 | 是 | 否 |
create_time | 创建时间 | datetime | 否 | 否 | 否 | |
logs | 日志内容 | varchar | 200 | 否 | 否 | 否 |
Create database log;
切换数据库:
Use log;
创建表:
CREATE TABLE `log` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL, `logs` varchar(200) NOT NULL, primary key(`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
2.项目准备
新建一个java项目 log4j_write_mysql:File->new ->java Project:
新建一个测试类Test:
新建一个lib文件,导入log4j的包:
配置log4j配置文件
log4j.rootLogger=ERROR,appender1,appender2 log4j.appender.appender1=org.apache.log4j.ConsoleAppender log4j.appender.appender1.layout=org.apache.log4j.PatternLayout log4j.appender.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n log4j.appender.appender2=org.apache.log4j.jdbc.JDBCAppender log4j.appender.appender2.driver=com.mysql.jdbc.Driver log4j.appender.appender2.URL=jdbc:mysql://localhost:3306/log?useUnicode=true&characterEncoding=UTF-8 log4j.appender.appender2.user=root log4j.appender.appender2.password=137151 log4j.appender.appender2.sql=insert into zuidaima_log (create_time,log) VALUES ('%d{yyyy-MM-dd hh:mm:ss}', '%c %p %m %n') log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
测试类编码:
/** * */ package log4j_write_mysql; import org.apache.log4j.Logger; /** * * 项目名称:log4j_write_mysql * 类名称:Test * 类描述: * 创建人:邓家海 * 创建时间:2015年5月28日 上午1:03:01 * 修改人:deng * 修改时间:2015年5月28日 上午1:03:01 * 修改备注: * @version * */ public class Test { public static Logger log = Logger.getLogger(Test.class); public static void main(String[] args) { try { throw new Exception("最代码错误log"); } catch (Exception e) { log.error(e.getMessage()); } } }
3:运行结果:
控制台信息:数据库信息:
改进,整合控制台、日志文件、数据库三个输出:
配置文件代码:
log4j.rootLogger=ERROR,appender1,appender2,log2 log4j.appender.appender1=org.apache.log4j.ConsoleAppender log4j.appender.appender1.Target=System.err log4j.appender.appender1.layout=org.apache.log4j.PatternLayout log4j.appender.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n log4j.appender.appender2=org.apache.log4j.jdbc.JDBCAppender log4j.appender.appender2.driver=com.mysql.jdbc.Driver log4j.appender.appender2.URL=jdbc:mysql://localhost:3306/log?useUnicode=true&characterEncoding=UTF-8 log4j.appender.appender2.user=root log4j.appender.appender2.password=137151 log4j.appender.appender2.sql=insert into log (create_time,logs) VALUES ('%d{yyyy-MM-dd hh:mm:ss}', '%c %p %m %n') log4j.appender.appender2.layout=org.apache.log4j.PatternLayout log4j.appender.log2=org.apache.log4j.FileAppender log4j.appender.log2.file=log.log log4j.appender.log2.layout=org.apache.log4j.PatternLayout log4j.appender.log2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
如需要源代码,请发帖索要:
http://tieba.baidu.com/f?kw=%C8%ED%BC%FE%C6%B5%B5%C0&fr=home
相关文章推荐
- mysql:Repair with keycache
- mysql官网源码包下载
- MySQL学习系列14:日志
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
- mysql排他锁遇到的一个问题 小记
- 黑马day10 增加&删除&更新到数据库mysql
- MySql索引原理与使用大全
- 黑马day10 jdbc入门&mysql
- mysql安装及odbc配置相关
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql连不上
- MySQL导入或导出数据库字符编码集设置
- mysql 所使用的表类型不支持fulltext
- mysql主从配置
- 通过node.js保存emoji到mysql
- mysql压力测试
- mysql读写分离
- MySQL修改root密码方法
- 解决MySQL中varchar无法使用max()函数
- 【转载】 mysql explain用法
- mysql中DATETIME、DATE和TIMESTAMP的区别