table:
----------------
create table log4j_messages
(
log_id serial not null,
message varchar(2000),
classtype varchar(255),
priority varchar(64),
log_date timestamp
);
log4j.properties:
-----------------
### JDBC appender
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.jdbc.driver=org.postgresql.Driver
log4j.appender.jdbc.URL=jdbc:postgresql://localhost:5432/postgres
log4j.appender.jdbc.user=jiasudu
log4j.appender.jdbc.password=8080
log4j.appender.jdbc.sql=INSERT INTO log4j_messages (message, class,
priority, log_date) values ('%m', '%c', '%p', to_timestamp('%d',
'YYYY-MM-DD HH24:MI:SS,MS'))
%m 表示你log中定义的消息 Connected and logged in to
%c 具体的类
%p INFO
to_timestamp('%d',YYYY-MM-DD HH24:MI:SS,MS') to_timestamp('2009-05-06 15:52:50,156',YYYY-MM-DD HH24:MI:SS,MS')
1. 在mysql中创建库logdb
create database;
2. 在库logdb中创建表muglog,
create table muglog{
id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
logdate DATE,
logger VARCHAR(50),
priority VARCHAR(50),
message VARCHAR(255)
};
3. 修改log4j.properties
### 限制com.bob.digester(名:dig)才会log on JDBCAppender ###
log4j.logger.com.bob.digester=info, dig
log4j.appender.dig=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.dig.URL=jdbc:mysql://localhost/logdb
log4j.appender.dig.driver=com.mysql.jdbc.Driver
log4j.appender.dig.user=root
log4j.appender.dig.password=
log4j.appender.dig.sql=INSERT INTO MUGLOG (LOGDATE, LOGGER, PRIORITY, MESSAGE) VALUES ('%d', '%c', '%p', '%m')
log4j.appender.dig.layout=org.apache.log4j.PatternLayout
4. 注意,这里mysql的driver是mysql-connector-java-3.0.14-production-bin.jar里的com.mysql.jdbc.Driver
所以,把它放到classpath里, 如在Eclipse测试,需放到project的java build path的Libraries里
分享到:
相关推荐
总结来说,Log4j写入数据库的配置涉及到创建适应的数据库表结构、配置`log4j.properties`文件以指定数据库连接信息和日志格式,并通过`JDBCAppender`将日志数据持久化到数据库中。这样的配置有助于收集和分析大量...
本示例将详细介绍如何配置并使用Log4j2将日志信息记录到MySQL数据库中。 首先,我们要理解Log4j2的核心概念。Log4j2主要包括以下几个组件: 1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志...
1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...
首先,确保你的应用程序连接到数据库,然后配置Log4j连接到同一个数据库。例如,使用JDBCAppender: ``` log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DB.URL=jdbc:mysql://localhost:...
当你的Java应用运行时,Log4j会通过DBCP连接池连接到MySQL数据库,并将日志信息存储到`log`表中。这样,你可以方便地对日志进行集中管理和分析,有助于系统维护和故障排查。 这个过程涉及的知识点包括: 1. Log4j的...
本篇将详细介绍如何配置Log4j来将日志信息存储到MySQL数据库中,以实现日志的集中管理和分析。 首先,我们需要了解Log4j的基本结构。Log4j主要由三个组件构成:Logger(日志器)、Appender(输出端)和Layout(布局...
给Log4j配上数据库连接池
### Log4j 日志信息存储到数据库中的配置与使用 #### 概述 在软件开发过程中,日志记录是至关重要的环节之一。它不仅能够帮助开发者追踪程序运行时的状态,还可以在系统出现故障时提供诊断信息。Apache Log4j 是一...
**标题解析:** "log4j输出日志到数据库表中" 指的是使用Log4j这个流行的Java日志框架,将日志记录存储在数据库的特定表中,而不是默认的文本文件或控制台。这通常是出于日志管理、分析和长期存储的需求。 **描述...
【标题】"ssmdemo+log4j写入数据库"是一个关于使用Spring、SpringMVC、MyBatis和Log4j框架集成实现日志记录到数据库的案例。在这个项目中,开发者正在探索如何将Log4j的日志信息存储在数据库中,以便进行更有效的...
这段配置指示Log4j使用JDBCAppender连接到本地MySQL服务器上的mydatabase数据库,并插入一条包含logger名、日志级别、消息和时间戳的日志记录。 接下来,我们需要定义一个Layout来决定日志的格式。在上述示例中,...
这篇博客“使用log4j记录日志到数据库”将介绍如何配置和使用Log4j,以便将日志信息存储到数据库中,而非传统的文本文件。数据库存储的日志便于进行结构化查询,有助于进行长期的数据分析和管理。 首先,理解Log4j...
这个过程涉及到Log4j的配置、数据库连接、以及Java代码中的日志调用。在实际项目中,可以根据需求调整日志级别、输出格式,甚至可以添加多个Appender,实现日志的多目的地输出,如同时写入文件和数据库,以满足不同...
log4j功能强大,但是将日志写入数据库,感觉其性能相当差,究其原因是:log4j在每写一次日志的时候都建立和释放一个数据库连接,系统的性能消耗在频繁建立昂贵的连接...本例简单的实现Log4j连接池,一起学习,不吝赐教
- `log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/log4j`:连接数据库的URL。 - `log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver`:MySQL驱动类。 - `log4j.appender.DATABASE.user=root`:...
总之,Log4j通过其灵活的配置,可以满足不同场景下的日志需求,无论是简单地输出到控制台,还是复杂地发送邮件或存入数据库,都能轻松实现。对于开发和运维人员来说,理解和掌握Log4j的配置方法是十分重要的,它能极...
Log4j允许我们直接将日志信息存储到数据库中,这对于需要长期保存和分析大量日志数据的系统来说尤其有用。首先,你需要配置一个Appender(输出端),例如使用JDBCAppender。在配置文件中,定义数据库连接参数,包括...
**slf4j-log4j12**:这是SLF4J的绑定器,用于将SLF4J API与Log4j框架连接起来。slf4j-log4j12-1.7.x版本是SLF4J针对Log4j 1.2版本的绑定器,它使得应用可以使用SLF4J接口,但实际的日志输出通过Log4j进行。这个桥接...
深入研究Log4j 1.2.16的源代码,你可以了解到如何实现日志事件的线程安全处理,以及如何优化日志性能,比如通过缓存日志输出格式来减少不必要的字符串连接操作。此外,源码中还包含了一些关键的类,如Category...