svn commit: r1646 - in logback/trunk: logback-classic/src/test/java/ch/qos/logback/classic logback-core/src/main/java/ch/qos/logback/core/html logback-core/src/main/java/ch/qos/logback/core/pattern logback-core/src/main/java/ch/qos/logback/core/rolling/helper

Author: ceki Date: Tue Mar 18 22:10:40 2008 New Revision: 1646 Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/PatternLayoutTest.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java Log: - composite patterns (those with parentheses) pass initial tests - startConverters method moved from DynamicConverter to ConvertUtil class. In fact, CompositeConverter have to be started as well. This was previously not the case and patterns with composites in them would not work. Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/PatternLayoutTest.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/PatternLayoutTest.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/PatternLayoutTest.java Tue Mar 18 22:10:40 2008 @@ -78,6 +78,20 @@ assertTrue(val.contains("java.lang.Exception: Bogus exception")); } + public void testCompositePattern() { + PatternLayout pl = new PatternLayout(); + pl.setPattern("%-56(%d [%t] %lo{20}) - %m%n"); + Context context = new LoggerContext(); + pl.setContext(context); + pl.start(); + String val = pl.doLayout(getEventObject()); + // 2008-03-18 21:55:54,250 [main] c.q.l.c.pattern.ConverterTest - Some message + String regex = Contants4T.ISO_REGEX+" \\[main] c.q.l.c.p.ConverterTest - Some message\\s*"; + System.out.println(val); + assertTrue(val.matches(regex)); + + } + public void testNopExeptionHandler() { PatternLayout pl = new PatternLayout(); pl.setPattern("%nopex %m%n"); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java Tue Mar 18 22:10:40 2008 @@ -4,7 +4,7 @@ import ch.qos.logback.core.LayoutBase; import ch.qos.logback.core.pattern.Converter; -import ch.qos.logback.core.pattern.DynamicConverter; +import ch.qos.logback.core.pattern.ConverterUtil; import ch.qos.logback.core.pattern.parser.Node; import ch.qos.logback.core.pattern.parser.Parser; import ch.qos.logback.core.pattern.parser.ScanException; @@ -74,7 +74,7 @@ p.setContext(getContext()); Node t = p.parse(); this.head = p.compile(t, getDefaultConverterMap()); - DynamicConverter.startConverters(this.head); + ConverterUtil.startConverters(this.head); } catch (ScanException ex) { addError("Incorrect pattern found", ex); errorCount++; Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java Tue Mar 18 22:10:40 2008 @@ -52,19 +52,4 @@ protected List getOptionList() { return optionList; } - - /** - * Used to start DynamicConvertes in a chain of converters. - * @param head - */ - public static void startConverters(Converter head) { - Converter c = head; - while (c != null) { - if (c instanceof DynamicConverter) { - DynamicConverter dc = (DynamicConverter) c; - dc.start(); - } - c = c.getNext(); - } - } } Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java Tue Mar 18 22:10:40 2008 @@ -78,7 +78,7 @@ Node t = p.parse(); this.head = p.compile(t, getEffectiveConverterMap()); postCompileProcessing(head); - DynamicConverter.startConverters(this.head); + ConverterUtil.startConverters(this.head); super.start(); } catch (ScanException sce) { StatusManager sm = getContext().getStatusManager(); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java Tue Mar 18 22:10:40 2008 @@ -16,7 +16,7 @@ import ch.qos.logback.core.Context; import ch.qos.logback.core.pattern.Converter; -import ch.qos.logback.core.pattern.DynamicConverter; +import ch.qos.logback.core.pattern.ConverterUtil; import ch.qos.logback.core.pattern.parser.Node; import ch.qos.logback.core.pattern.parser.Parser; import ch.qos.logback.core.pattern.parser.ScanException; @@ -47,7 +47,7 @@ setPattern(patternArg); setContext(contextArg); parse(); - DynamicConverter.startConverters(this.headTokenConverter); + ConverterUtil.startConverters(this.headTokenConverter); } void parse() {
participants (1)
-
noreply.ceki@qos.ch