Yes - this all sounds good to me.

Ralph

On Feb 1, 2013, at 11:27 AM, Joanne Polsky wrote:

> Thanks Ralph and Gary, that makes more sense.  I indicated it would default 
> to "\n" since that is what is hard coded in the source now.  I can update to 
> Constants.LINE_SEP while adding this new feature.
> 
> The ThrowablePatternConverter currently doesn't parse the filters, so having 
> delim as it's own option may be simpler in the end.  I would think the 
> following patterns should be supported:
> 
> %throwable{full}{delim( | )}
> %throwable{delim( | )}
> %throwable
> %xThrowable{full}{filters(package1,package2)}{delim( | )}
> %xThrowable{full}{delim( | )}
> %xThrowable{delim( | )}
> %xThrowable
> 
> Also the delim could be more than one character, for instance we use 
> space+pipe+space as our separator.
> 
> Would those patterns make sense?
> 
> Joanne
> 
> From: [email protected]
> Subject: Re: Feature Request from 1.x: Include option in throwable pattern 
> converter to control stack trace separator
> Date: Fri, 1 Feb 2013 11:19:35 -0800
> To: [email protected]
> 
> Yes.  That is available as Constants.LINE_SEP.
> 
> Ralph
> 
> On Feb 1, 2013, at 11:03 AM, Gary Gregory wrote:
> 
> Shouldn't the default be the line.separator system property?
> 
> Gary
> 
> 
> On Fri, Feb 1, 2013 at 1:54 PM, Ralph Goers <[email protected]> 
> wrote:
> First, thanks for participating!  The process you are following is perfectly 
> fine.  It is always great to start a discussion of a new feature on the dev 
> list to work out any details.  You can create a Jira with the feature request 
> and then attach a patch once you have completed the work.  Assigning the Jira 
> to yourself lets us know that you plan to work on it so that is a good idea.
> 
> We could either use the syntax you are proposing or 
> 
> %xEx{full}{filters(package1,package2),delim(|)}
> 
> which would be a little shorter.  In both cases I would expect specifying the 
> filters should be optional if the delimiter is included.
> 
> FWIW, this change will be a bit more extensive than just changing line 115.  
> The extended throwable pattern converters do most of their formatting in 
> ThrowableProxy, so it would need to be made aware of the delimiter.
> 
> Ralph
> 
> On Feb 1, 2013, at 9:54 AM, Joanne Polsky wrote:
> 
> Hello,
> 
> Some time ago, I had submitted a feature request for Log4j 1.x which I never 
> got around to actually implementing:
> https://issues.apache.org/bugzilla/show_bug.cgi?id=51122
> 
> I see that this feature request would apply to the new Log4j 2.x source as 
> well:
> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.java?view=markup
> 
> Now that I actually have some time, I'd like to make this contribution if no 
> one has any concerns.
> 
> Essentially the change is to make the appended new line configurable to be 
> any string delimiter default being "\n":
> [ThrowablePatternConverter.java:115] sb.append(array[i]).append("\n");
> 
> I had originally thought that a pattern like the following might work 
> "%throwable{full}{ | }".  However, it looks like in 2.0, there are some 
> classes which extend the ThrowablePatternConverter that assume the second 
> option may be a list of filters:
> https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.java
> https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.java
> 
> I was thinking I could still implement this change in 
> ThrowablePatternConverter where it would iterate through the options looking 
> for the specific prefix of delim?  So for instance the user would specify 
> something like the following (not sure if I like that delim but I can't think 
> of another identifier):
> %throwable{full}{delim( | )}
> %XThrowable{full}{filters(package1,package2)}{delim( | )}
> %rThrowable{full}{filters(package1,package2)}{delim( | )}
> 
> This would be my first contribution to any Apache software if this feature 
> was accepted so I'm not exactly sure how to proceed if I'm interested in 
> making the contribution myself.  I guess the first step would be to to copy 
> the feature request from the 1.0 bugzilla to the 2.0 JIRA 
> (https://issues.apache.org/jira/browse/LOG4J2).  Is there some approval 
> process for the feature before I start implementing the change?  Or would I 
> simply assign the JIRA to myself, make the code change I think makes sense, 
> then submit for code review?
> 
> Thanks,
> Joanne
> 
> 
> 
> 
> -- 
> E-Mail: [email protected] | [email protected] 
> JUnit in Action, 2nd Ed: http://bit.ly/ECvg0
> Spring Batch in Action: http://bit.ly/bqpbCK
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
> 
> 

Reply via email to