log4j 多线程记录日志混乱问题请教

J2EE 码拜 4年前 (2016-01-29) 232次浏览
采用log4j记录日志到数据库,其中包含一些业务信息及线程信息,这些信息通过filter用MDC保存。在并发访问的时候,设置buffersize,为了简单描述问题,假设每次请求只记录一次日志,现在设置buffersize=2,也即每满2个请求记录一次日志到数据库。假设第一次请求threadId =1, sessionId = ABCD; 另外一个请求threadId = 2, sessionId = KJLM。现在遇到的问题是在JDBCAppender中flushBuffer()时,通过loggerEvent转化出的sql语句中,对应的threadId都是后一个请求的线程ID也即2, sessionID都是KJLM。问一下有哪位知道问题出在哪里,该怎么解决?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明log4j 多线程记录日志混乱问题请教
喜欢 (0)
[1034331897@qq.com]
分享 (0)