日期:2014-05-16  浏览次数:20458 次

利用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 > ??

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

LOG4J? 表的生成SQL语句为:

xml
  1. create ? table ?log4j( Date ? varchar (100),?Logger? varchar (1000),?Priority? varc