
Author: seb Date: Tue Sep 12 17:33:31 2006 New Revision: 567 Added: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/MDCConverterTest.java Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java Log: - corrected MDCConverter output format - added test class Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java Tue Sep 12 17:33:31 2006 @@ -38,7 +38,7 @@ if (key == null) { // if no key is specified, return all the // values present in the MDC, separated with a single space. - StringBuffer buf = new StringBuffer("{"); + StringBuffer buf = new StringBuffer(); Set<String> keys = mdcPropertyMap.keySet(); Iterator it = keys.iterator(); String tmpKey; @@ -47,7 +47,10 @@ tmpKey = (String)it.next(); tmpValue = (String)mdcPropertyMap.get(tmpKey); //format: {testeKey=testValue, testKey2=testValue2} - buf.append(tmpKey).append('=').append(tmpValue).append(", "); + buf.append(tmpKey).append('=').append(tmpValue); + if (it.hasNext()) { + buf.append(", "); + } } return buf.toString(); } Added: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/MDCConverterTest.java ============================================================================== --- (empty file) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/MDCConverterTest.java Tue Sep 12 17:33:31 2006 @@ -0,0 +1,45 @@ +package ch.qos.logback.classic.pattern; + +import junit.framework.TestCase; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.MDC; +import ch.qos.logback.classic.spi.LoggingEvent; + +public class MDCConverterTest extends TestCase { + + LoggerContext lc; + MDCConverter converter; + + public void setUp() throws Exception { + lc = new LoggerContext(); + converter = new MDCConverter(); + converter.start(); + } + + public void tearDown() throws Exception { + lc = null; + converter.stop(); + converter = null; + } + + public void testConverWithOneEntry() { + MDC.put("testKey", "testValue"); + LoggingEvent le = createLoggingEvent(); + String result = converter.convert(le); + assertEquals("testKey=testValue", result); + } + + public void testConverWithMultipleEntries() { + MDC.put("testKey2", "testValue2"); + LoggingEvent le = createLoggingEvent(); + String result = converter.convert(le); + assertEquals("testKey=testValue, testKey2=testValue2", result); + } + + private LoggingEvent createLoggingEvent() { + LoggingEvent le = new LoggingEvent(this.getClass().getName(), lc.getLogger(LoggerContext.ROOT_NAME), + Level.DEBUG, "test message", null, null); + return le; + } +}