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

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

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

 

xml
  1. < appender   name = "db"   class = "org.apache.log4j.jdbc.JDBCAppender" >   
  2.     < param   name = "driver"   value  = "org.apache.derby.jdbc.EmbeddedDriver"   />   
  3.     < param   name = "URL"   value  = "jdbc:derby:logdb;create=true" />   
  4.     < param   name = "user"   value  = "" />   
  5.     < param   name = "password"   value = "" />   
  6.     < param   name = "sql"   value  = "INSERT INTO LOG4J (Date, Logger, Priority, Thread, Message) VALUES ('%d', '%c', '%p', '%t', '%m')" />   
  7. </ appender >   
<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语句为:

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

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


xml
  1. < logger   name  =  "org.tkxing"   additivity  =  "false" >   
  2.     < level   value  =  "DEBUG" />   
  3.     < appender-ref   ref  =  "logfile" />   
  4.     < appender-ref   ref = "stream"   />    
  5.     < appender-ref   ref = "db" />   
  6. </ logger >   
<logger name = "org.tkxing" additivity = "false"> <level value = "DEBUG"/> <appender-ref ref = "logfile"/> <appender-ref ref="stream" /> <appender-ref ref="db"/> </logger>

 

xml
  1. < logger   name  =  "org.tkxing"   additivity  =  "false" >   
  2.     < level   value  =  "DEBUG" />   
  3.     < appender-ref   ref  =  "logfile" />   
  4.     < appender-ref   ref = "stream"   />    
  5.     < appender-ref   ref = "db" />   
  6. </ logger >   
<logger name = "org.tkxing" additivity = "false"> <level value = "DEBUG"/> <appender-ref ref = "logfile"/> <appender-ref ref="stream" /> <appender-ref ref="db"/> </logger>

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值