Well, for Log4j Plugins, one way to configure should be plenty. I am OK with the factory method pattern, while it makes for some long signatures, I like that it is all in one place.
May I suggest a simple "-1" reply on the ML on the changes to logging? Do you feel a VETO is inappropriate here? Gary On Tue, Jun 10, 2014 at 7:57 PM, Ralph Goers <[email protected]> wrote: > I think the discussion was not on its own thread. I thought there was > agreement that there should be only one way to configure plugins. I prefer > the factory method simply because it would be a whole lot of effort to > convert everything to a builder and I just don't think the benefit is worth > the effort. > > I spent a lot of time making the debug output "nice" and easily > understandable so I am a bit upset that it was tossed and replaced with > what you see below. > > Ralph > > Sent from my iPad > > On Jun 10, 2014, at 4:31 PM, Gary Gregory <[email protected]> wrote: > > On Tue, Jun 10, 2014 at 7:11 PM, Ralph Goers <[email protected]> > wrote: > >> I am working on a new Appender and am noticing that the debug output is >> now far less useful than it used to be. I used to see the factory method >> being invoked with all of its parameters very nicely formatted. Now I see >> >> 2014-06-10 16:02:37,858 DEBUG No compatible method annotated with >> interface org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory >> found in class class org.apache.logging.log4j.web.appender.ServletAppender. >> 2014-06-10 16:02:37,858 DEBUG Found factory method class >> org.apache.logging.log4j.web.appender.ServletAppender.public static >> org.apache.logging.log4j.web.appender.ServletAppender >> org.apache.logging.log4j.web.appender.ServletAppender.createAppender(org.apache.logging.log4j.core.Layout,org.apache.logging.log4j.core.Filter,java.lang.String,java.lang.String). >> 2014-06-10 16:02:37,864 DEBUG Constructing plugin of type class >> org.apache.logging.log4j.web.appender.ServletAppender >> 2014-06-10 16:02:37,864 DEBUG PatternLayout(%m%n) >> 2014-06-10 16:02:37,864 DEBUG Constructing plugin of type class >> org.apache.logging.log4j.web.appender.ServletAppender >> 2014-06-10 16:02:37,865 DEBUG Constructing plugin of type class >> org.apache.logging.log4j.web.appender.ServletAppender >> 2014-06-10 16:02:37,865 DEBUG Attribute(name="Servlet") >> 2014-06-10 16:02:37,865 DEBUG Constructing plugin of type class >> org.apache.logging.log4j.web.appender.ServletAppender >> 2014-06-10 16:02:37,865 DEBUG Null string given to convert. Using default >> [null]. >> 2014-06-10 16:02:37,866 DEBUG Attribute(ignoreExceptions="null") >> >> This is far more verbose, repetitive, and is nowhere near as clear as it >> used to be. >> >> Can you please get the logging output back to the old format? >> >> Also, can we change PatternLayout back to a factory and remove the >> message about no builder factory being present? >> > > I think we need to decide how many ways there are to configure a plugin: > factory, builder, and whatever else we've been discussing. This is getting > quite confusing! > > I thought we had a thread going on the topic already... > > Gary > > >> >> Ralph >> > > > > -- > 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
