利用log4j的JDBCAppender把日志写入数据库中
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?
varc