I should add that since you've identified them it would be good to make sure 
there is a unit test for each of them.

Ralph

On Feb 1, 2013, at 12:04 PM, Ralph Goers wrote:

> 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