If you don't want this to get lost in the shuffle, I suggest you post an enhancement report in bugzilla. The change looks useful. Probably something for 1.3 or 2.0. I don't see this getting into 1.2.xx.

Any other committers care to comment on this?  Seems useful to me.

Jake

At 02:45 AM 2/14/2007, you wrote:
>Hello,
>
>yesterday I used the PatternLayout and I wanted to disable the
>stacktrace output.
>I couldn't find a possibility to do it by configuration.
>In cause of that I've patched the ThrowableInformationPatternConverter.
>Have a look at the attached patch.
>
>Now you can use the following ConversionPatterns in your property file.
>%d{dd MMM yy HH:mm:ss,SSS} |%p|%c{2}| %m %n %throwable{0} - no line of
>throwable will be printed out
>%d{dd MMM yy HH:mm:ss,SSS} |%p|%c{2}| %m %n %throwable{none} - no line
>of throwable will be printed out
>%d{dd MMM yy HH:mm:ss,SSS} |%p|%c{2}| %m %n %throwable{3} - three lines
>ot throwable will be printed out
>...
>
>I hope you like the improvement and apply the patch.
>
>
>With best regards,
>Marcel.
>
>
>Index:
>src/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java
>===================================================================
>---
>src/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter
>.java  (revision 507432)
>+++
>src/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter
>.java  (working copy)
>@@ -22,8 +22,15 @@
>
>
> /**
>- * Outputs the ThrowableInformation portion of the LoggingiEvent as a
>full stacktrace
>- * unless this converter's option is 'short', where it just outputs
>the first line of the trace.
>+ * Outputs the ThrowableInformation portion of the LoggingEvent as a
>full stacktrace
>+ * unless the converter's option isn't one of the following:</br>
>+ * <ul>
>+ * <li>short <i>- prints out the first line of the stacktrace</i></li>
>+ * <li>none <i>- nothing of the stacktrace will be printed out</i></li>
>+ * <li>2 <i>- prints out the first two lines of the stacktrace</i></li>
>+ * <li>5 <i>- prints out the first five lines of the stacktrace</i></li>
>+ * <li>&quot;digit&quot; <i>- prints out as many lines of the
>stacktrace as specified by digit</i></li>
>+ * </ul>
>  *
>  * @author Paul Smith
>  * @since 1.3
>@@ -33,6 +40,8 @@
>   extends LoggingEventPatternConverter {
>   /**
>    * If "short", only first line of throwable report will be formatted.
>+   * If "none", no line of throwable report will be formatted.
>+   * If any digit, the value specifies the number of lines of the
>throwable report.
>    */
>   private final String option;
>
>@@ -81,8 +90,17 @@
>         length = stringRep.length;
>       } else if (option.equals("short")) {
>         length = 1;
>+      } else if (option.equals("none")) {
>+        length = 0;
>       } else {
>-        length = stringRep.length;
>+        final int numberOfLines = Integer.valueOf(option);
>+        if (numberOfLines < 0) {
>+            length = stringRep.length;
>+        } else if (numberOfLines > stringRep.length) {
>+            length = stringRep.length;
>+        } else {
>+            length = numberOfLines;
>+        }
>       }
>
>       for (int i = 0; i < length; i++) {
>Index: src/java/org/apache/log4j/PatternLayout.java
>===================================================================
>--- src/java/org/apache/log4j/PatternLayout.java       (revision 507432)
>+++ src/java/org/apache/log4j/PatternLayout.java       (working copy)
>@@ -19,6 +19,7 @@
> import org.apache.log4j.helpers.OptionConverter;
> import org.apache.log4j.helpers.PatternConverter;
> import org.apache.log4j.pattern.BridgePatternConverter;
>+import org.apache.log4j.pattern.ThrowableInformationPatternConverter;
> import org.apache.log4j.spi.LoggingEvent;
>
>
>@@ -279,7 +280,8 @@
>      <p>Used to output the Throwable trace that has been bound to the
>LoggingEvent, by
>      default this will output the full trace as one would normally
>find by a call to Throwable.printStackTrace().
>      The throwable conversion word can be followed by an option in
>the form <b>%throwable{short}</b>
>-     which will only output the first line of the ThrowableInformation.</p>
>+     which will only output the first line of the ThrowableInformation.
>+     See [EMAIL PROTECTED] ThrowableInformationPatternConverter} for more 
option
>details.</p>
>      </td>
>    </tr>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to