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
>
就可以把日志内容输入到数据库中了。
分享到:
相关推荐
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver log4j.appender.DATABASE....
本工程用于研究log4j日志输出目的地org.apache.log4j.jdbc.JDBCAppender的使用方法 本工程编码方式:UTF-8 本工程开发工具:MyEclipse 本工程需要执行的SQL语句: CREATE DATABASE `test`; CREATE TABLE `...
-日志课程大纲.xlsx ...--16-Log4j的JDBCAppender配置.mp4 --17-Log4j的自定义logger.mp4 --18-JCL入门介绍.mp4 --19-JCL原理介绍.mp4 -- ---讲义 -日志技术(上).pdf - --day02 -day02资料.zip -
国外开源项目 用于控制log4j的 jdbc输出
自己封装的JDBC连接通过properties文件读取配置文件