Log4j日志系统,将日志信息记录到数据库中。

288 篇文章 0 订阅
68 篇文章 0 订阅

 

使用的Log4j的jar包:  log4j-1.2.17.jar                   

数据库环境:   Mysql数据库       

 

我的Java项目目录结构如下图图一所示:

                                                                                    图一

 

在Mysql数据库中建立数据库 log4j,格式为UTF-8。在 log4j数据库中建立数据库表 logs . logs建表语句如下:

CREATE TABLE `logs` (
  `USER_ID` varchar(64) NOT NULL,
  `DATED` datetime DEFAULT NULL,
  `LOGGER` varchar(50) NOT NULL,
  `LEVEL` varchar(10) NOT NULL,
  `MESSAGE` varchar(1000) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

log4j.properties的配置信息如下所示:


# log4j日志系统: 将日志内容插入到数据库中     
# Define the root logger with appender file 
log4j.rootLogger=DEBUG, DB, console

# Define the DB appender 
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender 

# Set JDBC URL 
# log4j.appender.DB.URL=jdbc:mysql://127.0.0.1/log4j?useUnicode=true&characterEncoding=utf8
log4j.appender.DB.URL=jdbc:mysql://127.0.0.1/log4j


# Set Database Driver
log4j.appender.DB.driver=com.mysql.jdbc.Driver

# Set DataBase user name and password
log4j.appender.DB.user=root
log4j.appender.DB.password=123456

# Set the SQL statement to be executed.
log4j.appender.DB.sql=INSERT INTO logs(USER_ID, DATED, LOGGER, LEVEL, MESSAGE) VALUES('%d{yyyy-MM-dd HH:mm:ss SSS}', '%d{yyyy-MM-dd HH:mm:ss}', '%C', '%p', '%m') 
# log4j.appender.DB.sql=INSERT INTO logs VALUES('%x', '%d{yyyy-MM-dd HH:mm:ss}', '%C', '%p', '%m') 


# Define the layout for file appender 
log4j.appender.DB.layout=org.apache.log4j.PatternLayout 


# 将日志输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%F:%L]-[%p]-[%c]-%m%n
log4j.appender.console.encoding=UTF-8 




 

在Java代码中,建立一个 LogMysqlRun 文件,代码如下所示:           

package com.moon.log4j.main;

import org.apache.log4j.Logger;

/**
  * 将日志信息插入到数据库表中。
 * 
 * @author moon  2019/05/13  10:03  
 *
 */
public class LogMysqlRun {
	
	private static Logger log = Logger.getLogger(LogMysqlRun.class); 
	
	public static void main(String[] args) {
		
		log.debug("This is logger debug message.");
		log.info("This is logger info message.");
		
		System.out.println("---------------------- log4j-1.Xjar包测试完成 ----------------------");
	}
	
}


 

        运行 LogMysqlRun.java 中的 main函数后,运行结果如下图图二、图三所示:

                                                                                     图二

 

                                                                                                    图三

 

 

参考文章:   Log4j日志记录到数据库 , 需要注意的是,这篇文章中一些地方有小Bug! (^__^)                     

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值