2 hhhvs hhhvs 于 2013.11.25 19:19 提问

Log4J中Logger如何关闭IO流

在项目由于日志需要对日志进行扩展,根据交易号和日期生成logger对象放入队列中,每天会清除之前的日志对象,刚开始没有发现问题,大约到了1个月左右,生产中报了java.net.SocketException:too many open files异常,首先整个系统中除了日志外,只有读取配置文件的两个本地IO操作,其他的是网络IO,其次在早上没有大规模并发请求,除了心跳报文外,其他无请求,综合上述可以将问题定位在日志上。仔细想每天我只是把日志对象从Hashtable中remove了,但是被remove的Logger对象并未立刻被GC,我想在remove后,将Logger中IO资源立即释放,求高手指点。

1个回答

u012908616
u012908616   2013.11.26 00:15
已采纳

确定是日志文件的问题? 我Java不太熟, 但至少读写文件不会出SocketException应该是肯定的吧?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!