https://issues.apache.org/bugzilla/show_bug.cgi?id=48820
Summary: JDBCAppender inserts the current MDC values for the
previous logging event after failure
Product: Log4j
Version: 1.2
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: normal
Priority: P2
Component: Appender
AssignedTo: [email protected]
ReportedBy: [email protected]
event.getThreadName();
event.getNDC();
event.getMDCCopy();
must be invoked to import thread dependent values into event.
See org.apache.log4j.net.SMTPAppender.append(LoggingEvent event).
It invokes above methods because SMTPAppender uses a buffer like JDBCAppender.
I think
public void append(LoggingEvent event) {
buffer.add(event);
if (buffer.size() >= bufferSize)
flushBuffer();
}
should be like
public void append(LoggingEvent event) {
event.getThreadName();
event.getNDC();
event.getMDCCopy();
buffer.add(event);
if (buffer.size() >= bufferSize)
flushBuffer();
}
or
public void append(LoggingEvent event) {
buffer.add(event);
if (buffer.size() >= bufferSize)
flushBuffer();
int size = buffer.size();
if (size > 0 && buffer.get(size - 1) == event) {
event.getThreadName();
event.getNDC();
event.getMDCCopy();
}
}
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]