On Thu, Sep 22, 2016 at 2:07 PM, Ralph Goers <ralph.go...@dslextreme.com>
wrote:

> Is the default to keep the existing behavior?
>

Yes, it is.

Gary


>
> Ralph
>
> On Sep 22, 2016, at 1:54 PM, Gary Gregory <garydgreg...@gmail.com> wrote:
>
> On Thu, Sep 22, 2016 at 1:07 PM, Gary Gregory <garydgreg...@gmail.com>
> wrote:
>
>> On Thu, Sep 22, 2016 at 12:52 PM, Ralph Goers <ralph.go...@dslextreme.com
>> > wrote:
>>
>>> Because Log4j users are far more inclined to want to use the formatting
>>> we provide?  What your change does is effectively disallow users from using
>>> our exception formatting when logging to the servletContext.
>>>
>>
>> No it does not. Now, if the user does nothing, for example uses "%m%n",
>> the exception is still added to the messages as you pointed out. What you
>> do get is double logging and I'll add an option to only use the servlet
>> context API with the Throwable if a new attribute is set.
>>
>
> I added a Builder to the ServletAppender, deprecated the factory method,
> and added a new option:
>
>         /**
>          * Logs with {@link ServletContext#log(String, Throwable)} if true
> and with {@link ServletContext#log(String)} if false.
>          *
>          * @return whether to log a Throwable with the servlet context.
>          */
>         public boolean isLogThrowables() {
>             return logThrowables;
>         }
>
> Gary
>
>>
>> Gary
>>
>>
>>>
>>> Also, this breaks the current behavior.
>>>
>>> You really need to rethink this and provide an option or something on
>>> the Appender to allow the user to control this.
>>>
>>> Please revert what you have committed so it doesn’t go out if I can get
>>> to doing the release tonight.
>>>
>>> Ralph
>>>
>>> On Sep 22, 2016, at 11:42 AM, Gary Gregory <garydgreg...@gmail.com>
>>> wrote:
>>>
>>> Since ServletContext is an interface, who knows what interesting work an
>>> implementation will do with the Throwables.
>>>
>>> Another way to look at it is: Why should we hide the actual Throwable
>>> from the ServletContext?
>>>
>>> Gary
>>>
>>> On Thu, Sep 22, 2016 at 10:23 AM, Ralph Goers <ralph.goers@dslextreme.
>>> com> wrote:
>>>
>>>> Yes, and them immediately committed it.  I am -1 on this commit until I
>>>> get an explanation as to why what we currently do isn’t better.
>>>>
>>>> Ralph
>>>>
>>>> On Sep 22, 2016, at 9:29 AM, Gary Gregory <garydgreg...@gmail.com>
>>>> wrote:
>>>>
>>>> I created https://issues.apache.org/jira/browse/LOG4J2-1608
>>>>
>>>> Gary
>>>>
>>>> On Thu, Sep 22, 2016 at 8:22 AM, Matt Sicker <boa...@gmail.com> wrote:
>>>>
>>>>> Oh that explains it, thanks for the info!
>>>>>
>>>>> On 22 September 2016 at 10:21, Ralph Goers <ralph.go...@dslextreme.com
>>>>> > wrote:
>>>>>
>>>>>> PatternLayout defaults to implicitly add %ex or one of its variations
>>>>>> to your pattern if you don’t specify it. To disable exception logging you
>>>>>> have to use %noex.
>>>>>>
>>>>>> Ralph
>>>>>>
>>>>>> On Sep 22, 2016, at 6:55 AM, Matt Sicker <boa...@gmail.com> wrote:
>>>>>>
>>>>>> I usually don't even include %exception in my pattern layouts for
>>>>>> some reason, probably because of the double logging. So I'd go with (1) 
>>>>>> as
>>>>>> well.
>>>>>>
>>>>>> On 22 September 2016 at 02:59, Gary Gregory <garydgreg...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>> The method 
>>>>>>> org.apache.logging.log4j.web.appender.ServletAppender.append(LogEvent)
>>>>>>> is defined as:
>>>>>>>
>>>>>>>     @Override
>>>>>>>     public void append(final LogEvent event) {
>>>>>>>         servletContext.log(((AbstractStringLayout)
>>>>>>> getLayout()).toSerializable(event));
>>>>>>>     }
>>>>>>>
>>>>>>> Instead of:
>>>>>>>
>>>>>>>     @Override
>>>>>>>     public void append(final LogEvent event) {
>>>>>>>         servletContext.log(((AbstractStringLayout)
>>>>>>> getLayout()).toSerializable(event)*, event.getThrown()*);
>>>>>>>     }
>>>>>>>
>>>>>>> Which does not give the best information we have to the servlet
>>>>>>> context logging.
>>>>>>>
>>>>>>> The tricky part is that to avoid logging the exception twice like in
>>>>>>> our test org.apache.logging.log4j.web.ServletAppenderTest. To avoid
>>>>>>> the double logging, we could (1) document not using a %exception in the
>>>>>>> pattern layout.
>>>>>>>
>>>>>>> That or (yikes) (2) provide a variation of the toSerializable(event)
>>>>>>> like toSerializable(event, false), where the boolean is an 
>>>>>>> ignoreException
>>>>>>> parameter. It seems there are plenty of places where exceptions are 
>>>>>>> treated
>>>>>>> specially already, this would be another.
>>>>>>>
>>>>>>> I like (1) better because it is simpler.
>>>>>>>
>>>>>>> Thoughts?
>>>>>>>
>>>>>>> Thank you,
>>>>>>> Gary
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>>>>> <ggreg...@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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Matt Sicker <boa...@gmail.com>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>> <ggreg...@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
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> <ggreg...@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
>>>
>>>
>>>
>>
>>
>> --
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> <ggreg...@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
>>
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> <ggreg...@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
>
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@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

Reply via email to