几小时后Log4j丢失连接数据库

时间:2015-04-30 14:15:13

标签: java log4j

我为我的网络服务提供了log4j的配置:

# Define the root logger with appender file
log4j.logger.com.package = INFO, DB

# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender

# Set JDBC URL
log4j.appender.DB.URL=jdbc:mysql://127.0.0.1/MYDB

# Set Database Driver
log4j.appender.DB.driver=com.mysql.jdbc.Driver

# Set database user name and password
log4j.appender.DB.user=agent
log4j.appender.DB.password=secret
# Set the SQL statement to be executed.
log4j.appender.DB.sql=INSERT INTO TABLE VALUES(TIMESTAMP(now()),'%C','%p','%m')

# Define the layout for file appender
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

可以工作,但是几个小时后(没有操作)会丢失连接而不会将任何内容保存到数据库中。

我错过了一些配置?

可以设置如下:

log4j.appender.DB.testOnBorrow = true
log4j.appender.DB.validationQuery = "SELECT 1"

1 个答案:

答案 0 :(得分:0)

检查以确保数据库服务器没有为记录器连接暂停会话并从服务器端关闭它,如果您已经过了几个小时"没有活动。在MySQL上,这是wait_timeout,如果我正确读取它,则默认为8小时。这是服务器端配置。