log4j 连接数据库

本文介绍如何使用Log4j将应用程序日志记录到MySQL数据库中,包括配置log4j.properties文件、创建MySQL数据库及表结构,并提供具体配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表结构:

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里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值