I don’t see the point of accepting an array of Markers since you can always 
create a Marker that has multiple parents - effectively making it an array of 
Markers.  However, this relationship is meant to be permanent - which makes 
sense to me since you should only be using a Marker to mean a single thing in 
an application.

What I don’t really understand is how one FooException is “softer” than another 
FooException.  I do understand how throwing a Type1Exception might be more 
significant than a Type2Exception, but that might be better expressed in the 
Exception hierarchy than in Markers. 

I could certainly see creating an ExceptionPatternSelector that uses a 
PatternLayout that only prints the exception message for some exceptions and 
prints the stack trace for others.

I suppose I could also see creating an ExceptionFilter that filters based on 
the exception type.

I guess it just feels wrong to me for a developer to have to add a Marker to an 
exception event to somehow add more significance to the event.

Ralph

> On Mar 1, 2016, at 4:24 PM, Gary Gregory <[email protected]> wrote:
> 
> Hi All:
> 
> Is the following an odd-ball use case or a super-niche use case, and should 
> we do anything about it.
> 
> I have a part of our app that throws and logs an exception with the usual:
> 
> logger.throwing(new FooException(...));
> 
> Elsewhere in this class and in the same method, I have softer errors for 
> which I log a warning with a a custom marker.
> 
> What I really want is to be able to filter out both log events based on this 
> marker but not other kinds of events, hence the use of Markers.
> 
> I cannot say:
> 
> logger.throwing(myMarker, new FooException(...)); 
> 
> Our implementation marks throwing() log event (helpfully) with its own 
> THROWING_MARKER.
> 
> I could make my custom marker a child of THROWING_MARKER, but that is really 
> not semantically correct, is smelly and therefore a nasty hack IMO.
> 
> If I had a logger.throwing(Marker, Throwable); API, how would it work?
> 
> I would say that LogEvent should hold an array of Markers, not a single one.
> 
> What does this sound like to you all? Craziness or a power-user refinement?
> 
> Let's only consider throwing() for now before we even think about adding 
> Logger APIs that take Marker[]s.
> 
> Gary
> 
> 
> -- 
> E-Mail: [email protected] <mailto:[email protected]> | 
> [email protected]  <mailto:[email protected]>
> Java Persistence with Hibernate, Second Edition 
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> 
> Home: http://garygregory.com/ <http://garygregory.com/>
> Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>

Reply via email to