log4j - 写入数据库
-
简述
log4j API 提供了 org.apache.log4j.jdbc.JDBCAppender 对象,可以将日志信息放入指定的数据库中。 -
JDBCAppender 配置
属性 描述 bufferSize 设置缓冲区大小。默认大小为 1。 driver 将驱动程序类设置为指定的字符串。如果未指定驱动程序类,则默认为sun.jdbc.odbc.JdbcOdbcDriver. layout 设置要使用的布局。默认布局是org.apache.log4j.PatternLayout. password 设置数据库密码。 sql 指定每次发生日志事件时要执行的 SQL 语句。这可以是插入、更新或删除。 URL 设置 JDBC URL。 user 设置数据库用户名。 -
日志表配置
在开始使用基于 JDBC 的日志记录之前,您应该创建一个表来维护所有日志信息。以下是用于创建 LOGS 表的 SQL 语句 - -
示例配置文件
以下是示例配置文件 log4j.properties 用于将消息记录到 LOGS 表的 JDBCAppender。对于 MySQL 数据库,您必须使用实际的 DBNAME、用户 ID 和密码,您在其中创建了 LOGS 表。SQL 语句是执行一条INSERT 语句,表名LOGS 和要输入到表中的值。JDBCAppender 不需要显式定义布局。相反,传递给它的 SQL 语句使用 PatternLayout。如果您希望有一个与上述等效的 XML 配置文件 log4j.properties 文件,然后这里是内容 - -
示例程序
下面的 Java 类是一个非常简单的示例,它初始化然后使用 Java 应用程序的 Log4J 日志库。 -
编译和执行
下面是编译和运行上述程序的步骤。确保您已设置PATH 和 CLASSPATH 在进行编译和执行之前适当地进行。所有的库都应该在 CLASSPATH并且您的log4j.properties文件应该在 PATH 中可用。按照给定的步骤 -- 如上所示创建 log4j.properties。
- 如上所示创建 log4jExample.java 并编译它。
- 执行 log4jExample binary 来运行程序。
现在检查 DBNAME 数据库中的 LOGS 表,您会发现以下条目 -Note− 这里 x 用于输出与生成日志事件的线程关联的嵌套诊断上下文 (NDC)。我们使用 NDC 来区分处理多个客户端的服务器端组件中的客户端。查看 Log4J 手册以获取更多信息。