log4j利用数据库连接池(dbcp)

为提升数据库操作效率,采用dbcp作为数据库连接池。在数据库恢复过程中,log4j的日志记录因kill进程后无法重新连接数据库。通过修改log4j配置,使其利用dbcp连接池,成功解决了日志无法写入的问题。
摘要由CSDN通过智能技术生成

最近写程序有个问题郁闷了好久,开始写的时候很多操作频繁的对数据库进行增删改查操作,有些操作中就出现了效率低下的问题。研究之后将所有对数据库的连接方式改用了数据库连接池(dbcp)的方式,果然各个操作的效率提高了很多,不过出现了一个问题,我的日志部分是利用log4j来实现的,在我对数据库操作中与一个功能是对数据库的备份和恢复,由于恢复数据库的功能的要kill掉进程再恢复,我发现dbcp是有自动重连机制的,所以恢复数据库后其他操作都正常,但是日志不再写入数据库,纠结了很久发现是log4j的配置,之前log4j是自己连数据库,在kill之后他没有重连,所以无法写入数据库,那么我就改了配置,让log4j也利用数据库连接池,问题就解决了。

之前的配置:

log4j.rootLogger = debug,stdout,D,E,db

### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值