Log4j JDBCAppender 之 在数据库中创建日志

Log4j是一个简单而灵活的日志记录框架。日志记录为开发人员提供了有关应用程序故障的详细上下文。使用log4j可以在运行时启用日志记录,而无需修改应用程序二进制文件。log4j软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。

Log4j带有多个选项来格式化框架创建的日志文件。它也可以创建简单的日志文件,html日志文件或xml日志文件。它还使用mysql语句将日志语句插入数据库。

这篇文章,我将展示用于配置log4j以在数据库表中生成日志的示例代码。

步骤1)创建一个Maven Java项目并更新log4j依赖项

请遵循本文中与使用maven配置log4j相关的步骤。

步骤2)在log4j.properties文件中配置JDBCAppender

JDBCAppender提供机制用于发送日志事件到一个数据库表。每个追加调用将添加到ArrayList缓冲区。当缓冲区已满时,每个日志事件都将放置在sql语句(可配置)中并执行。BufferSizedb URLUser和&Password是标准log4j方式中的可配置选项。

警告:此版本的JDBCAppender将来很可能会完全替换。此外,它不会记录异常

#使用文件附加程序定义根记录器
log4j.rootLogger = DEBUG,SQL

#定义文件附加器
log4j.appender.sql = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.sql.URL = jdbc:mysql:// localhost / test
#设置数据库驱动程序
log4j.appender.sql.driver = com.mysql.jdbc.Driver
#设置数据库用户名和密码
log4j.appender.sql.user = root
log4j.appender.sql.password =密码
#设置要执行的SQL语句。
log4j.appender.sql.sql =插入日志值('%x',now(),'%​​C','%p','%m')
#定义文件追加程序的xml布局
log4j.appender.sql.layout = org.apache.log4j.PatternLayout

步骤3)在数据库中创建表并测试应用程序

在模式测试中,创建数据库表LOGS。

创建表日志
	USER_ID VARCHAR(20)NOT NULL,
	DATETIME DATETIME NOT NULL,
	LOGGER VARCHAR(50)NOT NULL,
	LEVEL VARCHAR(10)NOT NULL,
	MESSAGE VARCHAR(1000)NOT NULL
);

现在,使用PropertyConfigurator配置log4j.properties文件并调用一些日志事件。

package com.how2codex;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log4jJDBCExample
{
	static Logger log = Logger.getLogger(Log4jJDBCExample.class);

	public static void main(String[] args)
	{
		PropertyConfigurator.configure("log4j.properties");

		log.debug("Sample debug message");
		log.info("Sample info message");
		log.error("Sample error message");
		log.fatal("Sample fatal message");
	}
}

日志语句将使用sql语句插入数据库中。
log4j-jdbc-示例

让我知道是否有任何问题。

学习愉快!

saigon has written 1440 articles

Leave a Reply