excel 导入oracle 发现后台日志突然不写了,程序卡死,也不报错 log4j死锁

最近项目,出现在先从 excel 读数据,通过ibatis  连接oracel  导了几次发现,后台日志不输出,程序也卡住了,也不出现错误,无法定位问题,

 猜测是程序出了问题,后来改了还是出现同样的问题,哪个郁闷啊,后来几个同事猜测什么原因,不知道怎么回事,只能慢慢尝试各种问题


最后日志的debug 去掉尝试了几次竟然不出现了,上网百度竟然是log4j  死锁问题,怪不得不输出日志,资源都处于等待状态。


log4j  debug 是多线程的方式写文件,io流耗损很多,多线程处理就会可能出现死锁的现象,也是log4j一个bug


log4j.rootLogger=DEBUG,stdout,filelog
#log4j.rootLogger=DEBUG,filelog

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

# flush log every day
log4j.appender.filelog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.filelog.ImmediateFlush=true
log4j.appender.filelog.File=log.log
log4j.appender.filelog.Append=true
log4j.appender.filelog.DatePattern='.'yyyy-MM-dd
log4j.appender.filelog.layout=org.apache.log4j.PatternLayout
log4j.appender.filelog.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.filelog.encoding=UTF-8

#log4j.logger.com.ibatis=debug,filelog
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
#log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout



你可能感兴趣的:(log4j,死锁)