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.go...@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
>>>>>> 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
>>> 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
>>
>>
>>
>
>
> --
> 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
>



-- 
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