[logback-dev] [JIRA] Resolved: (LBCLASSIC-104) strange MDC and SMTPAppender behavior
Ceki Gulcu (JIRA)
noreply-jira at qos.ch
Fri Jan 16 11:38:28 CET 2009
[ http://jira.qos.ch/browse/LBCLASSIC-104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ceki Gulcu resolved LBCLASSIC-104.
----------------------------------
Fix Version/s: 0.9.15
Resolution: Fixed
Fixes in revision 2128.
> strange MDC and SMTPAppender behavior
> -------------------------------------
>
> Key: LBCLASSIC-104
> URL: http://jira.qos.ch/browse/LBCLASSIC-104
> Project: logback-classic
> Issue Type: Bug
> Affects Versions: 0.9.14
> Reporter: Ceki Gulcu
> Assignee: Ceki Gulcu
> Fix For: 0.9.15
>
>
> Original report: http://www.qos.ch/pipermail/logback-user/2009-January/000877.html
> I'm seeing unexpected behavior when I combine MDC and SMTPAppender.
> The MDC values appear to be lost for previous log messages when
> MDC.clear is called before Logger.error triggers the actual email.
> This does not appear to be a problem with console appender. Below
> is a test program that will reproduce the problem. A logback.xml
> that uses an SMTPAppender and a pattern that includes %mdc is required.
> Is there something I'm missing?
> Versions:
> slf4j-api-1.5.6.jar
> logback-core-0.9.14.jar
> logback-classic-0.9.14.jar
> janino-2.5.14.jar
> mail-1.4.1.jar
> java version "1.6.0_04"
> test program:
> import org.slf4j.Logger;
> import org.slf4j.MDC;
> import org.slf4j.LoggerFactory;
> public class TestMain
> {
> public static void main(String[] args)
> {
> Logger logger = LoggerFactory.getLogger("TestMain");
> // test1...
> logger.debug("test1: should not have MDC");
> MDC.put("key1", "val1");
> MDC.put("key2", "val2");
> logger.warn("test1: should have MDC(key1=val1,key2=val2) but
> does not");
> MDC.clear();
> logger.debug("test1: should not have MDC");
> logger.error("test1: error message triggers email");
> // test2...
> logger.debug("test2: should not have MDC");
> MDC.put("key1", "val1");
> logger.warn("test2: should have MDC(key1=val1)");
> MDC.put("key2", "val2");
> logger.warn("test2: should have MDC(key1=val1,key2=val2)");
> MDC.put("key3", "val3");
> logger.warn("test2: should have
> MDC(key1=val1,key2=val2,key3=val3) but does not");
> MDC.clear();
> logger.debug("test2: should not have MDC");
> logger.error("test2: error message triggers email");
> // test3...
> logger.debug("test3: should not have MDC");
> MDC.put("key1", "val1");
> logger.warn("test3: should have MDC(key1=val1)");
> MDC.put("key2", "val2");
> logger.warn("test3: should have MDC(key1=val1,key2=val2)");
> MDC.put("key3", "val3");
> logger.warn("test3: should have
> MDC(key1=val1,key2=val2,key3=val3)");
> MDC.put("key4", "val4");
> logger.warn("test3: should have
> MDC(key1=val1,key2=val2,key3=val3,key4=val4) but does not");
> MDC.clear();
> logger.debug("test3: should not have MDC");
> logger.error("test3: error message triggers email");
> // test4...
> logger.debug("test4: should not have MDC");
> MDC.put("key1", "val1");
> logger.warn("test4: should have MDC(key1=val1)");
> MDC.put("key2", "val2");
> logger.error("test4: error message triggers email and has
> MDC(key1=val1,key2=val2)");
> MDC.clear();
> logger.debug("test5: should not have MDC");
> MDC.put("key1", "val1");
> logger.warn("test5: should have MDC(key1=val1) but does not");
> MDC.clear();
> logger.debug("test5: should not have MDC");
> MDC.put("key1", "val1");
> logger.warn("test5: should have MDC(key1=val1)");
> logger.error("test5: error message triggers email and should not
> have MDC");
> }
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the logback-dev
mailing list