On Thu, Sep 29, 2016 at 8:50 AM, Remko Popma <[email protected]> wrote:

> Thank you.
>

YW :-)


>
> Sent from my iPhone
>
> On 29 Sep 2016, at 9:07, Gary Gregory <[email protected]> wrote:
>
> On Wed, Sep 28, 2016 at 3:47 PM, Gary Gregory <[email protected]>
> wrote:
>
>> On Wed, Sep 28, 2016 at 3:43 PM, Remko Popma <[email protected]>
>> wrote:
>>
>>> Hm, ok.
>>> OutOfMemoryError may actually be recoverable if GC occurs, but
>>> ThreadDeath is probably not something we want to catch without rethrowing.
>>> Agree it's better to narrow it down to Exception|LinkageError.
>>>
>>
>> Will do...
>>
>
> Done.
>
> Gary
>
>
>>
>> Gary
>>
>>
>>>
>>> Sent from my iPhone
>>>
>>> On 29 Sep 2016, at 2:23, Gary Gregory <[email protected]> wrote:
>>>
>>> On Wed, Sep 28, 2016 at 10:18 AM, Remko Popma <[email protected]>
>>> wrote:
>>>
>>>> While I agree with you on the principle that catching Throwable is
>>>> rarely a good idea, I argue that this is one of the exceptions to the rule:
>>>>
>>>> We want to unregister a LoggerContext, but if this fails we want to
>>>> continue since failing to unregister a JMX MBean should not prevent Log4j
>>>> from working.
>>>> We want to capture and ignore any error here, including unanticipated
>>>> ones.
>>>>
>>>
>>> Why not narrow it down and catch LinkageError? I do not see how catching
>>> OutOfMemoryError or any VirtualMachineError is a good idea here.
>>>
>>> Gary
>>>
>>>
>>>> Sent from my iPhone
>>>>
>>>> On 29 Sep 2016, at 2:08, Gary Gregory <[email protected]> wrote:
>>>>
>>>> -1: It's rarely a good idea to catch Throwable. I doubt you want to
>>>> catch OutOfMemoryError for example. Just say what you want to catch in a
>>>> mutli-catch. In this case, catch NoClassDefFoundError and Exception.
>>>>
>>>> In fact, since we need to deal with Android and Google App Engine
>>>> restrictions in a few places, we should document this someplace and try to
>>>> provide some common way to deal with this.
>>>>
>>>> Gary
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: <[email protected]>
>>>> Date: Wed, Sep 28, 2016 at 9:23 AM
>>>> Subject: logging-log4j2 git commit: LOG4J2-1506 patch by Johannes
>>>> Schleger to catch Throwable instead of Exception
>>>> To: [email protected]
>>>>
>>>>
>>>> Repository: logging-log4j2
>>>> Updated Branches:
>>>>   refs/heads/master 404d47502 -> 18c1f9f86
>>>>
>>>>
>>>> LOG4J2-1506 patch by Johannes Schleger to catch Throwable instead of
>>>> Exception
>>>>
>>>>
>>>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>>>> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit
>>>> /18c1f9f8
>>>> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1
>>>> 8c1f9f8
>>>> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1
>>>> 8c1f9f8
>>>>
>>>> Branch: refs/heads/master
>>>> Commit: 18c1f9f8635349d84a7a57aaaaae41a1d3b72f92
>>>> Parents: 404d475
>>>> Author: rpopma <[email protected]>
>>>> Authored: Thu Sep 29 01:23:39 2016 +0900
>>>> Committer: rpopma <[email protected]>
>>>> Committed: Thu Sep 29 01:23:39 2016 +0900
>>>>
>>>> ----------------------------------------------------------------------
>>>>  .../main/java/org/apache/logging/log4j/core/LoggerContext.java   | 4
>>>> ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>> ----------------------------------------------------------------------
>>>>
>>>>
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1
>>>> 8c1f9f8/log4j-core/src/main/java/org/apache/logging/log4j/co
>>>> re/LoggerContext.java
>>>> ----------------------------------------------------------------------
>>>> diff --git 
>>>> a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/Log
>>>> gerContext.java
>>>> index 1f99941..104a921 100644
>>>> --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/Log
>>>> gerContext.java
>>>> +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/Log
>>>> gerContext.java
>>>> @@ -315,8 +315,8 @@ public class LoggerContext extends AbstractLifeCycle
>>>>              this.setStopping();
>>>>              try {
>>>>                  Server.unregisterLoggerContext(getName()); //
>>>> LOG4J2-406, LOG4J2-500
>>>> -            } catch (final Exception ex) {
>>>> -                LOGGER.error("Unable to unregister MBeans", ex);
>>>> +            } catch (final Throwable t) {
>>>> +                LOGGER.error("Unable to unregister MBeans", t);
>>>>              }
>>>>              if (shutdownCallback != null) {
>>>>                  shutdownCallback.cancel();
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: [email protected] | [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
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>>
>>>
>>>
>>> --
>>> E-Mail: [email protected] | [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
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>>
>>
>>
>> --
>> E-Mail: [email protected] | [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
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
>
> --
> E-Mail: [email protected] | [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
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>


-- 
E-Mail: [email protected] | [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
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to