Well, as long as the Managers always propagate the error back to the Appender, 
then it shouldn't be a problem, right?

Where is the ErrorHandler supposed to be used? Is it in each Appender, or is it 
used in whatever calls all of the Appenders (and, in that case, why wouldn't 
the use be consistent?)?

Nick

On Jul 18, 2013, at 1:07 AM, Ralph Goers wrote:

> The ErrorHandler is there primarily to avoid endlessly logging the same error 
> message every time a log event fails in the appender.  Unfortunately, this 
> isn't used consistently and it is difficult to use from Managers, which is 
> where most of the errors are going to occur.
> 
> Ralph
> 
> On Jul 17, 2013, at 3:38 PM, Nick Williams wrote:
> 
>> Okay. So there are two things we need to think about here:
>> 
>> 1) The Appender interface contains a method named isExceptionSuppressed(). 
>> I've never liked that name anyway (the grammar is awkward). Do we want to 
>> rename this method? Some ideas: areExceptionsIgnored(), 
>> shouldIgnoreExceptions(), ignoreExceptions().
>> 
>> 2) All of the appenders have a suppressExceptions configuration attribute 
>> (JSON or XML). Do we want to rename this attribute? Some ideas: 
>> exceptionsIgnored, ignoreExceptions.
>> 
>> Also, something I'm not quite sure I understand. How does the 
>> isExceptionSuppressed() method relate to the ErrorHandler interface? What's 
>> the purpose for having both?
>> 
>> Nick
>> 
>> On Jul 17, 2013, at 5:27 PM, Paul Benedict wrote:
>> 
>>> Aren't we really just talking about ignoring exceptions? If so, "ignore" is 
>>> much better than "suppressing" for the reason I raised.
>>> 
>>> 
>>> On Wed, Jul 17, 2013 at 5:10 PM, Gary Gregory <[email protected]> 
>>> wrote:
>>> On Wed, Jul 17, 2013 at 5:48 PM, Paul Benedict <[email protected]> wrote:
>>> The phrase "suppressed exception" actually means something specific in the 
>>> JDK. Are you okay with using the same terminology?
>>> http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
>>> 
>>> This is confusing IMO, we need a better name.
>>> 
>>> Gary
>>>  
>>> 
>>> 
>>> On Wed, Jul 17, 2013 at 4:42 PM, Nick Williams 
>>> <[email protected]> wrote:
>>> Appender specifies a method, isExceptionSuppressed(), which indicates 
>>> whether exceptions thrown while appending events should be suppressed 
>>> (logged instead of re-thrown).
>>> 
>>> AbstractAppender implements this method with a private handleExceptions 
>>> field and a handleExceptions constructor argument. isExceptionSuppressed() 
>>> returns handleExceptions (so, supposedly, "handle exceptions" means "take 
>>> care of exceptions instead of the user having to take care of exceptions").
>>> 
>>> Everybody that extends AbstractAppender uses the same handleExceptions 
>>> constructor argument. They all define a suppressExceptions XML attribute 
>>> that is assigned to the handleExceptions constructor argument in the static 
>>> plugin factory method.
>>> 
>>> This is all very confusing to me. I just realize that I have misunderstood 
>>> "handleExceptions" this whole time in the database appenders and have 
>>> assumed it was the opposite of isExceptionSuppressed() / suppressExceptions 
>>> (and, thus, have written incorrect code).
>>> 
>>> Does anyone have a problem with me renaming handleExceptions to 
>>> exceptionSuppressed (to match the JavaBean isExceptionSuppressed method) to 
>>> make this less confusing?
>>> 
>>> Nick
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Cheers,
>>> Paul
>>> 
>>> 
>>> 
>>> -- 
>>> E-Mail: [email protected] | [email protected] 
>>> Java Persistence with Hibernate, Second Edition
>>> JUnit in Action, Second Edition
>>> Spring Batch in Action
>>> Blog: http://garygregory.wordpress.com 
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>> 
>>> 
>>> 
>>> -- 
>>> Cheers,
>>> Paul
>> 
> 

Reply via email to