把重要的
log
写入数据库,使其具备查询过滤的能力。
同时为了不影响程序的运行速度,一般采用异步写入的形式:
在数据库中建立任意的 log 表 , 通过 sql 属性指定表名和列名 , 而 BufferSize=100 可以达到异步写入的效果。
log4j.appender.db
=
org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.BufferSize = 20
log4j.appender.db.URL = jdbc:hsqldb:hsql: // localhost:9002/bookstore
log4j.appender.db.driver = org.hsqldb.jdbcDriver
log4j.appender.db.user = sa
log4j.appender.db.password =
log4j.appender.db.sql = INSERT INTO LOG4J_LOG (LOGINID,PRIORITY,LOGDATE,CLASS,METHOD,MSG)
VALUES( ' %X{userId} ' , ' %p ' , ' %d{yyyy-MM-dd HH:mm:ss} ' , ' %C ' , ' %M ' , ' %m ' )
log4j.appender.db.BufferSize = 20
log4j.appender.db.URL = jdbc:hsqldb:hsql: // localhost:9002/bookstore
log4j.appender.db.driver = org.hsqldb.jdbcDriver
log4j.appender.db.user = sa
log4j.appender.db.password =
log4j.appender.db.sql = INSERT INTO LOG4J_LOG (LOGINID,PRIORITY,LOGDATE,CLASS,METHOD,MSG)
VALUES( ' %X{userId} ' , ' %p ' , ' %d{yyyy-MM-dd HH:mm:ss} ' , ' %C ' , ' %M ' , ' %m ' )
在数据库中建立任意的 log 表 , 通过 sql 属性指定表名和列名 , 而 BufferSize=100 可以达到异步写入的效果。