apache log4j实现日志插入mysql数据库
–>
【转载】
近做项目时,出现了一个bug,环境为was,出现一次请求,返回多次处理结果,最终查询原因为was配置的超时转发(server1超时自动转发server2,3,4..)引起的.
为了快速定位问题的根源,所以希望能把log4j的输入写入到数据库中,因此才有了本此的文章。
1.创建mysql数据库log4j,数据表ibs_log
--建库 CREATE DATABASE `log4j`; --建表 CREATE TABLE `ibs_log` ( `log_id` int(10) NOT NULL AUTO_INCREMENT, `log_date` datetime NOT NULL COMMENT '日期', `log_file` varchar(255) DEFAULT NULL COMMENT '文件名', `log_line` varchar(255) DEFAULT NULL COMMENT '行号', `log_thread` varchar(255) DEFAULT NULL COMMENT '线程', `log_level` varchar(255) DEFAULT NULL COMMENT 'Log级别 info warndebug error等', `log_message` varchar(2048) DEFAULT NULL COMMENT 'Log信息', PRIMARY KEY (`log_id`,`log_date`), KEY `INDEX_LOG_DATE` (`log_date`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
2.新建一个java project工程。
- 引入jar包
- 配置log4j.properties
-
log4j.rootLogger=INFO,appender1,appender2,appender3 log4j.logger.org.springframework=ERROR 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.FileAppender log4j.appender.appender2.File=log/IceColdMonitor.log log4j.appender.appender2.layout=org.apache.log4j.PatternLayout log4j.appender.appender2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n #database log4j.appender.appender3=org.apache.log4j.jdbc.JDBCAppender log4j.appender.appender3.driver=com.mysql.jdbc.Driver log4j.appender.appender3.URL=jdbc:mysql://127.0.0.1:3306/log4j log4j.appender.appender3.user=root log4j.appender.appender3.password=root log4j.appender.appender3.sql=INSERT INTO ibs_log (log_date,log_file,log_line,log_thread,log_level,log_message) VALUES ('%d{yyyy-MM-dd hh:mm:ss}','%c','%l','%t','%p','%m')
编写测试类
-
package com.log4j.test; import org.apache.log4j.Logger; public class Test { public static void main(String[] args) { Logger logger = Logger.getLogger(Test.class); logger.info("test logger info"); logger.debug("test logger debug"); logger.error("test logger error"); logger.fatal("test logger fatal"); } }
项目截图:
-
运行截图:
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。
© 版权声明
文章版权归作者所有,未经允许请勿转载。