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() {
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev