kisn888的gravatar头像
kisn888 2016-08-01 16:08:16

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包

      apache log4j实现日志插入mysql数据库

  • 配置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;
    
    /**
     * @author kisn
     *
     */
    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");
    	}
    }

     

项目截图:

  apache log4j实现日志插入mysql数据库

运行截图:

  apache log4j实现日志插入mysql数据库apache log4j实现日志插入mysql数据库

  


打赏

文件名:logTmysql.rar,文件大小:852.575K 下载
  • /
      • /logTmysql
        • /logTmysql/.classpath
        • /logTmysql/.project
          • /logTmysql/.settings
            • /logTmysql/.settings/org.eclipse.jdt.core.prefs
          • /logTmysql/bin
              • /logTmysql/bin/com
                  • /logTmysql/bin/com/log4j
                      • /logTmysql/bin/com/log4j/test
                        • /logTmysql/bin/com/log4j/test/Test.class
            • /logTmysql/bin/log4j.properties
          • /logTmysql/lib
            • /logTmysql/lib/log4j-1.2.16.jar
            • /logTmysql/lib/mysql-connector-java-3.1.13-bin.jar
          • /logTmysql/log
            • /logTmysql/log/IceColdMonitor.log
最代码最近下载分享源代码列表最近下载
3969138  LV15 2019年9月19日
liwyu123456  LV8 2018年12月27日
weixh7  LV25 2018年11月15日
fangen0005  LV25 2018年6月3日
wuhanrjh  LV8 2018年5月19日
ZWJ_farocity  LV1 2018年5月15日
fengyaofei  LV16 2017年12月13日
gxpcwm  LV22 2017年9月6日
zuoshaochao  LV15 2017年9月5日
yt346220756  LV1 2017年8月2日
最代码最近浏览分享源代码列表最近浏览
丁春秋  LV2 2022年3月15日
mwh1001  LV15 2021年12月26日
陈版纳 2021年11月29日
暂无贡献等级
113羊皮卷 2021年5月10日
暂无贡献等级
听雨轩丿  LV10 2021年5月5日
你是傻子  LV9 2021年1月20日
18238687719  LV1 2021年1月10日
heshseven  LV1 2020年11月2日
crystaluw  LV1 2020年9月25日
ssy552  LV10 2020年8月13日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友