利用log4j的JDBCAppender把日志写入数据库中

来源:互联网 发布:天津广电网络营业厅 编辑:程序博客网 时间:2024/05/21 22:41

log4j提供了多种Appender,通过这些Appender可以把log4j产生的日志写到数据库中,把所用的日志集中起来管理,能够进行日志的分析和集中监控,提升系统的可维护性和系统的可用性,下面是我利用derby嵌入式数据库,写入数据库的配置:

在log4j文件中,增加关于JDBCAppender的配置:

 

<appender name="db" class="org.apache.log4j.jdbc.JDBCAppender"><param name="driver" value ="org.apache.derby.jdbc.EmbeddedDriver" /><param name="URL" value ="jdbc:derby:logdb;create=true"/><param name="user" value =""/><param name="password" value=""/><param name="sql" value ="INSERT INTO LOG4J (Date, Logger, Priority, Thread, Message) VALUES ('%d', '%c', '%p', '%t', '%m')"/></appender>

数据库为logdb,用户名和密码为空,这两项必须设,因为JDBCAppender中有默认值,如果不设连接数据库会报错。

LOG4J  表的生成SQL语句为:

create table log4j(Date varchar(100), Logger varchar(1000), Priority varchar(100), Thread varchar(30), Message varchar(1000));

然后在log4j.xml配置文件中,把db appender添加到需要的logger中,如下:


<logger name = "org.tkxing" additivity = "false"><level value = "DEBUG"/><appender-ref ref = "logfile"/><appender-ref ref="stream" /><appender-ref ref="db"/></logger>


 

<logger name = "org.tkxing" additivity = "false"><level value = "DEBUG"/><appender-ref ref = "logfile"/><appender-ref ref="stream" /><appender-ref ref="db"/></logger>

就可以把日志内容输入到数据库中了。 

原创粉丝点击