kisn888的gravatar头像
kisn8882016-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
最代码最近下载分享源代码列表最近下载
liwyu123456 LV72018年12月27日
月亮星星星星星星
weixh7 LV212018年11月15日
太阳月亮星星
fangen0005 LV192018年6月3日
太阳星星星星星星
wuhanrjh LV72018年5月19日
月亮星星星星星星
ZWJ_farocity LV12018年5月15日
星星
fengyaofei LV162017年12月13日
太阳
gxpcwm LV192017年9月6日
太阳星星星星星星
zuoshaochao LV142017年9月5日
月亮月亮月亮星星星星
yt346220756 LV12017年8月2日
星星
jeffll LV12017年3月30日
星星
最代码最近浏览分享源代码列表最近浏览
qq578006426 LV95月5日
月亮月亮星星
liuyan1234 LV64月27日
月亮星星星星
aaaa1233565 LV44月25日
月亮
myjaychou LV34月12日
星星星星星星
coldJest4月11日
暂无贡献等级
zz1230012300 LV64月10日
月亮星星星星
mudingc木钉 LV224月8日
太阳月亮星星星星
qq777444 LV42月26日
月亮
dwjwlxs3y2月3日
暂无贡献等级
阿毛123456 LV122月3日
月亮月亮月亮
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友