[jboss-svn-commits] JBoss Common SVN: r4044 - in jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager: formatters and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 18 14:03:35 EST 2010
Author: david.lloyd at jboss.com
Date: 2010-02-18 14:03:35 -0500 (Thu, 18 Feb 2010)
New Revision: 4044
Modified:
jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/NDC.java
jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/FormatStringParser.java
jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/Formatters.java
Log:
MFT: JBLOGGING-36 - Fix NDC formatting
Modified: jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/NDC.java
===================================================================
--- jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/NDC.java 2010-02-18 19:03:21 UTC (rev 4043)
+++ jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/NDC.java 2010-02-18 19:03:35 UTC (rev 4044)
@@ -99,7 +99,7 @@
if (stack.isEmpty()) {
return "";
} else {
- return stack.top();
+ return stack.toString();
}
}
@@ -152,5 +152,17 @@
this.sp = max;
}
}
+
+ public String toString() {
+ final StringBuilder b = new StringBuilder();
+ final int sp = this.sp;
+ for (int i = 0; i < sp; i++) {
+ b.append(data[i]);
+ if (i < sp) {
+ b.append('.');
+ }
+ }
+ return b.toString();
+ }
}
}
Modified: jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/FormatStringParser.java
===================================================================
--- jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/FormatStringParser.java 2010-02-18 19:03:21 UTC (rev 4043)
+++ jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/FormatStringParser.java 2010-02-18 19:03:35 UTC (rev 4044)
@@ -128,7 +128,8 @@
break;
}
case 'x': {
- stepList.add(Formatters.ndcFormatStep(leftJustify, minimumWidth, maximumWidth));
+ final int count = argument == null ? 0 : Integer.parseInt(argument);
+ stepList.add(Formatters.ndcFormatStep(leftJustify, minimumWidth, maximumWidth, count));
break;
}
case 'X': {
Modified: jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/Formatters.java
===================================================================
--- jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/Formatters.java 2010-02-18 19:03:21 UTC (rev 4043)
+++ jboss-logmanager/branches/1.1/src/main/java/org/jboss/logmanager/formatters/Formatters.java 2010-02-18 19:03:35 UTC (rev 4044)
@@ -36,6 +36,7 @@
import static java.lang.Math.min;
import static java.lang.Math.max;
import java.io.PrintWriter;
+import org.jboss.logmanager.NDC;
/**
* Formatter utility methods.
@@ -456,12 +457,22 @@
* @return the format step
*/
public static FormatStep ndcFormatStep(final boolean leftJustify, final int minimumWidth, final int maximumWidth) {
- return new JustifyingFormatStep(leftJustify, minimumWidth, maximumWidth) {
- public void renderRaw(final StringBuilder builder, final ExtLogRecord record) {
- final String value = record.getNdc();
- if (value != null) {
- builder.append(value);
- }
+ return ndcFormatStep(leftJustify, minimumWidth, maximumWidth, 0);
+ }
+
+ /**
+ * Create a format step which emits the NDC value of the log record.
+ *
+ * @param leftJustify {@code true} to left justify, {@code false} to right justify
+ * @param minimumWidth the minimum field width, or 0 for none
+ * @param maximumWidth the maximum field width (must be greater than {@code minimumFieldWidth}), or 0 for none
+ * @param count the limit to the number of segments to format
+ * @return the format step
+ */
+ public static FormatStep ndcFormatStep(final boolean leftJustify, final int minimumWidth, final int maximumWidth, final int count) {
+ return new SegmentedFormatStep(leftJustify, minimumWidth, maximumWidth, count) {
+ public String getSegmentedSubject(final ExtLogRecord record) {
+ return NDC.get();
}
};
}
More information about the jboss-svn-commits
mailing list