logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: Appender's append() method
Date Fri, 15 Jan 2016 04:48:16 GMT
You need to use a RuntimeException derivative. The whole point of not
swallowing Appender exceptions is that so something can be done based on
the exception. For instance, there's the FailoverAppender which lets you
switch to another Appender if the primary one starts to fail (e.g., network
connection down, out of disk space).

On 14 January 2016 at 20:08, Nicholas Duane <nickdu@msn.com> wrote:

> I'm getting a little confused here.  I also left out some information.  We
> do need to catch because for some of our appenders we log the errors to
> loggers which will capture the errors in a central location.
>
> If we didn't include any exception handling that would mean any type of
> exception could be thrown back to the AppenderControl.  So if I do catch
> exceptions so that I can log them and then I want to rethrow them, is there
> a reason why I have to wrap them in some specific type of exception?
>
> Also, as I mentioned earlier, and unfortunately I didn't get a chance to
> test this yet but I believe I've seen this happen before, if I'm attempting
> to override a method which doesn't indicate it throws exceptions, won't the
> compiler complain if I attempt to throw an exception from that method?
>
> Thanks,
> Nick
>
> > Subject: Re: Appender's append() method
> > From: ralph.goers@dslextreme.com
> > Date: Wed, 13 Jan 2016 22:50:41 -0700
> > To: log4j-user@logging.apache.org
> >
> > Why are you catching it at all? AppenderControl also takes care of
> handling logging the exception so you don’t even have to catch the
> exception to do that.
> >
> > Ralph
> >
> > > On Jan 13, 2016, at 7:49 PM, Nicholas Duane <nickdu@msn.com> wrote:
> > >
> > > Also, why would we not just rethrow whatever exception we caught?
> > >
> > > Thanks,
> > > Nick
> > >
> > >> Subject: Re: Appender's append() method
> > >> From: ralph.goers@dslextreme.com
> > >> Date: Wed, 13 Jan 2016 17:28:11 -0700
> > >> To: log4j-user@logging.apache.org
> > >>
> > >> Sorry, that was what I meant.
> > >>
> > >> Ralph
> > >>
> > >>> On Jan 13, 2016, at 3:17 PM, Gary Gregory <garydgregory@gmail.com>
> wrote:
> > >>>
> > >>> IMO a RuntimeException subclass is appropriate while RuntimeException
> > >>> should not be used.
> > >>>
> > >>> Gary
> > >>>
> > >>> On Wed, Jan 13, 2016 at 1:53 PM, Ralph Goers <
> ralph.goers@dslextreme.com>
> > >>> wrote:
> > >>>
> > >>>> Your appender is automatically wrapped by an AppenderControl
> object. The
> > >>>> AppenderControl will inspect the ignoreExceptions flag so your
> Appender
> > >>>> does not have to.  Your Appender should just throw a
> RuntimeException if it
> > >>>> encounters a problem.
> > >>>>
> > >>>> Ralph
> > >>>>
> > >>>>> On Jan 13, 2016, at 2:38 PM, Nicholas Duane <nickdu@msn.com>
> wrote:
> > >>>>>
> > >>>>> I'm new to java so maybe this should be an obvious question
to
> most java
> > >>>> developers.  If I'm trying to override the append() method but
also
> throw
> > >>>> exceptions, how is that done?
> > >>>>>
> > >>>>> I'm asking because I assume my append method's outermost catch
> block is
> > >>>> to inspect the ignoreExceptions flag and either bubble up the
> exception if
> > >>>> ignoreExceptions is false or eat the exception otherwise, most
> likely just
> > >>>> logging an event.  Is that true?  If so, then how do I accomplish
> that?  I
> > >>>> tried coding it as I mentioned above (actually someone else did
it
> for me),
> > >>>> but the compiler I guess was complaining about the throw needing
to
> be in a
> > >>>> catch block, I assume because the append() method is not defined
to
> throw
> > >>>> exceptions.
> > >>>>>
> > >>>>> In addition, looking at what I think was source for one of
your
> > >>>> appenders at:
> > >>>>>
> > >>>>>
> > >>>>
> https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blob;f=log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java;h=9a4cfde83194c866c30c4687e9f4ebb19cb20a17;hb=75d33d96ac00356014cf11f8ad9e8c6ead4db37a
> > >>>>>
> > >>>>> Why does it always throw an exception in the catch block instead
of
> > >>>> checking the state of the ignoreExceptions flag?
> > >>>>>
> > >>>>> Thanks,
> > >>>>> Nick
> > >>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> ---------------------------------------------------------------------
> > >>>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > >>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>> --
> > >>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > >>> 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
> > >>> Home: http://garygregory.com/
> > >>> Tweet! http://twitter.com/GaryGregory
> > >>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > >> For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >>
> > >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
>
>



-- 
Matt Sicker <boards@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message