still there have been twice as many problem reports as +1.

Afaik we've never shipped a release in such a bad state to be honest.


LieGrue,
strub



----- Original Message -----
> From: Benson Margulies <bimargul...@gmail.com>
> To: Maven Developers List <dev@maven.apache.org>; Mark Struberg 
> <strub...@yahoo.de>
> Cc: 
> Sent: Friday, December 7, 2012 3:04 PM
> Subject: Re: [DISCUSS] the art of logging - was: [VOTE] Maven 3.1.0
> 
> As I see it, the vote bogged down because Kristian found problems, and
> I haven't seen clear evidence that those problems are sorted out. I'd
> be happy to vote +1 with respect to all the design questions for the
> release 'as is'.
> 
> On Fri, Dec 7, 2012 at 9:00 AM, Mark Struberg <strub...@yahoo.de> wrote:
>>  good idea, Benson.
>> 
>>  Btw, this VOTE did not get enough +1 in more than a week. And this is not 
> because not enough people took care if you look at the plenty of comments in 
> the 
> thread.
>> 
>>  1.) Do people have any technical comment on my proposal to introduce a new 
> plugin-plugin flag for exposing slf4j? Is there any technical problem with 
> that?
>> 
>>  Are there other proposals which might help increasing backward 
> compatibility?
>> 
>> 
>> 
>>  2.) what about the coloured logger with log4j2? I tried it locally and it 
> worked great. What is the status? (Sorry if I missed something)
>> 
>> 
>> 
>>  LieGrue,
>>  strub
>> 
>> 
>> 
>>  ----- Original Message -----
>>>  From: Benson Margulies <bimargul...@gmail.com>
>>>  To: Maven Developers List <dev@maven.apache.org>
>>>  Cc:
>>>  Sent: Friday, December 7, 2012 2:28 PM
>>>  Subject: Re: [VOTE] Maven 3.1.0
>>> 
>>>  Could we please find an appropriate subject line for this debate,
>>>  unless you all are really discussing this design question as part of
>>>  the (still?) outstanding vote on 3.1.0?
>>> 
>>> 
>>>  On Fri, Dec 7, 2012 at 8:12 AM, Gary Gregory 
> <garydgreg...@gmail.com>
>>>  wrote:
>>>>   Another way of looking at this is whether this kind of behavior 
> change in
>>>>   appropriate for a minor release, instead of a major release.
>>>> 
>>>> 
>>>>   On Fri, Dec 7, 2012 at 7:57 AM, Mark Struberg 
> <strub...@yahoo.de>
>>>  wrote:
>>>> 
>>>>>   Daniel, please think through these old project scenarios. 
> Those old
>>>>>   projects did ship their own slf4j impl + config and parsed 
> their own
>>>  logs
>>>>>   and extracted information. They will now just fall on their 
> knees
>>>  because
>>>>>   the logs are no longer available for them. Instead they will 
> be
>>>  somewhere
>>>>>   in the maven logs which could be anywhere from a plugin point 
> of view.
>>>>> 
>>>>> 
>>>>>   This is not fixed, this is broken imo.
>>>>> 
>>>>>   LieGrue,
>>>>>   strub
>>>>> 
>>>>> 
>>>>> 
>>>>>   ----- Original Message -----
>>>>>   > From: Daniel Kulp <dk...@apache.org>
>>>>>   > To: Maven Developers List <dev@maven.apache.org>
>>>>>   > Cc:
>>>>>   > Sent: Friday, December 7, 2012 1:49 PM
>>>>>   > Subject: Re: [VOTE] Maven 3.1.0
>>>>>   >
>>>>>   >
>>>>>   >>
>>>>>   >>  Again the state of affairs of 3.1.0 today: old 
> projects and
>>>  plugins
>>>>>   which
>>>>>   > didnt use slf4j so far don't get any benefit from 
> forcing
>>>  slf4j on them.
>>>>>   And
>>>>>   > old projects and plugins which _did_ use slf4j already 
> are now
>>>  broken
>>>>>   with the
>>>>>   > current trunk. I cannot see how we can seriously release 
> this to
>>>  users
>>>>>   right
>>>>>   > now.
>>>>>   >
>>>>>   >
>>>>>   >
>>>>>   > I don't consider them broken.   I consider them 
> fixed.    Old
>>>  plugins
>>>>>   that
>>>>>   > use SLF4J now get there information properly integrated 
> with the
>>>  rest of
>>>>>   the
>>>>>   > maven information.
>>>>>   >
>>>>>   >
>>>>>   > Dan
>>>>>   >
>>>>>   >
>>>>>   >
>>>>>   > On Dec 7, 2012, at 7:32 AM, Mark Struberg
>>>  <strub...@yahoo.de> wrote:
>>>>>   >
>>>>>   >>>  The final proposal that I see is where we give a 
> metadata
>>>  flag
>>>>>   >>  (defaults to false)
>>>>>   >>>  which if true sets up an isolated classloader 
> for
>>>>>   >>  the plugin allowing the plugin to use its own slf4j
>>>>>   >>
>>>>>   >>  Stephen, this is _almost_ the same as I proposed a 
> month ago.
>>>  But I'd
>>>>>   > do it the other way around as this would be perfectly 
> backward
>>>>>   compatible.
>>>>>   >>
>>>>>   >>  I'll try to explain again what I propose:
>>>>>   >>
>>>>>   >>  Any plugin could e.g. use a @Slf4JLogger in it's 
> mojo.
>>>  The
>>>>>   > plugin-plugin would transfer this to a
>>>  <useSlf4j>true</useSlf4j>
>>>>>   > inside the plugin.xml.
>>>>>   >>  In this case, and _only_ in this case we would 
> expose our
>>>  internal
>>>>>   SLF4J to
>>>>>   > the plugin.
>>>>>   >>
>>>>>   >>
>>>>>   >>  Older plugins do not need it anyway as they do not 
> use the
>>>>>   maven-provided
>>>>>   > slf4j yet!
>>>>>   >>
>>>>>   >>
>>>>>   >>  This is a win-win solution imo:
>>>>>   >>  * old integration and plugins will still work
>>>>>   >>  * new plugins can use slf4j for logging via maven
>>>>>   >>
>>>>>   >>
>>>>>   >>  Again the state of affairs of 3.1.0 today: old 
> projects and
>>>  plugins
>>>>>   which
>>>>>   > didnt use slf4j so far don't get any benefit from 
> forcing
>>>  slf4j on them.
>>>>>   And
>>>>>   > old projects and plugins which _did_ use slf4j already 
> are now
>>>  broken
>>>>>   with the
>>>>>   > current trunk. I cannot see how we can seriously release 
> this to
>>>  users
>>>>>   right
>>>>>   > now.
>>>>>   >>
>>>>>   >>  LieGrue,
>>>>>   >>  strub
>>>>>   >>
>>>>>   >>
>>>>>   >>>  ________________________________
>>>>>   >>>  From: Stephen Connolly
>>>  <stephen.alan.conno...@gmail.com>
>>>>>   >>>  To: Maven Developers List 
> <dev@maven.apache.org>;
>>>  Mark Struberg
>>>>>   > <strub...@yahoo.de>
>>>>>   >>>  Sent: Friday, December 7, 2012 12:48 PM
>>>>>   >>>  Subject: Re: [VOTE] Maven 3.1.0
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  But not all of those *need to*. At least until 
> now they
>>>  have needed
>>>>>   to,
>>>>>   > but going forward they may not need to if we are giving 
> them an
>>>  slf4j
>>>>>   impl to
>>>>>   > hang their hat off.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  There will always be some special case plugins 
> that have
>>>  a legitimate
>>>>>   > need to do funky logging stuff. We need a strategy for 
> those
>>>  plugins.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  Jason's proposal for those cases was that 
> they should
>>>  fork a JVM.
>>>>>   > That works if you don't need to channel objects back 
> and
>>>  forth. For some
>>>>>   of
>>>>>   > the plugins wanting to do 'live development' 
> style work (I
>>>  am thinking
>>>>>   > my jszip.org experiments - I have some plans and 
> experiments that
>>>  I
>>>>>   haven't
>>>>>   > even pushed to there yet ;-) ) forking a JVM is a bad 
> plan, as you
>>>  then
>>>>>   have to
>>>>>   > basically resort to RMI to control the forked JVM... More 
> ports
>>>  and more
>>>>>   sockets
>>>>>   > and more complexity.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  The next step I could see is building a fresh 
> classloader
>>>  up from
>>>>>   > scratch within the plugin. That *should* work as long as 
> we load a
>>>  fresh
>>>>>   set of
>>>>>   > slf4j-api classes (ceki?) then we are initialising slf4j 
> a second
>>>  time
>>>>>   in the
>>>>>   > fresh classloader and we can do as we need. Again complex 
> though
>>>  one
>>>>>   could argue
>>>>>   > less complex than the RMI route. Plugin developers 
> following this
>>>  route
>>>>>   will
>>>>>   > have to watch out for the dreaded CCE but at least you 
> are not
>>>  having to
>>>>>   deal
>>>>>   > with object serialisation and RMI
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  The final proposal that I see is where we give a 
> metadata
>>>  flag
>>>>>   > (defaults to false) which if true sets up an isolated 
> classloader
>>>  for
>>>>>   the plugin
>>>>>   > allowing the plugin to use its own slf4j
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  Note that each proposal above retains the option 
> for
>>>  plugin developers
>>>>>   > to use the previous proposal.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  My vote is that we need to provide a utility 
> library that
>>>  makes the
>>>>>   > first and second proposals facile for plugin developers 
> and we
>>>  should
>>>>>   probably
>>>>>   > enable the third option also.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  The correct respecting of tool chains support 
> requires
>>>  plugin
>>>>>   > developers to follow the first route if a tool chain JVM 
> is
>>>  applied to
>>>>>   their
>>>>>   > plugin and to use the second when no tool chain JVM is in 
> play...
>>>  At
>>>>>   least for
>>>>>   > the jetty:run and tomcat:run style plugins.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  For the sonar style plugins, and my gut says the 
> vast
>>>  majority of
>>>>>   these
>>>>>   > use cases the most they will need is the third proposal. 
> Without
>>>  seeing a
>>>>>   > maven-fork-utils api I cannot say that we don't need 
> the third
>>>  proposal,
>>>>>   so
>>>>>   > I am forced to conclude that we should support it... IOW 
> I think
>>>  we need
>>>>>   a
>>>>>   > metadata flag.
>>>>>   >>>
>>>>>   >>>
>>>>>   >>>  -Stephen
>>>>>   >>>
>>>>>   >>>  On Friday, 7 December 2012, Mark Struberg  
> wrote:
>>>>>   >>>
>>>>>   >>>  basically all stuff which integrates maven does 
> *funky
>>>  logging
>>>>>   > stuff*...
>>>>>   >>>>
>>>>>   >>>>
>>>>>   >>>>
>>>>>   >>>>
>>>>>   >>>>  ----- Original Message -----
>>>>>   >>>>>  From: Anders Hammar 
> <and...@hammar.net>
>>>>>   >>>>>  To: Maven Developers List
>>>  <dev@maven.apache.org>
>>>>>   >>>>>  Cc:
>>>>>   >>>>>  Sent: Friday, December 7, 2012 7:25 AM
>>>>>   >>>>>  Subject: Re: [VOTE] Maven 3.1.0
>>>>>   >>>>>
>>>>>   >>>>>>   I'm interested to help working 
> on adding
>>>  a metadata to
>>>>>   > enable slf4j
>>>>>   >>>>>>   visibility
>>>>>   >>>>>>   from a plugin: by default, slf4j is 
> not
>>>  visible, plugins
>>>>>   > are expected to
>>>>>   >>>>>>   use
>>>>>   >>>>>>   plugin-api's Log. But if the 
> plugin
>>>  wants to use
>>>>>   > core's slf4j, he
>>>>>   >>>>>  would be
>>>>>   >>>>>>   able to add an annotation in the 
> goal
>>>  requiring shared
>>>>>   > core slf4j, then the
>>>>>   >>>>>>   plugin descriptor would enable 
> slf4j api
>>>  import from core.
>>>>>   >>>>>>
>>>>>   >>>>>
>>>>>   >>>>>  *If* we go this path, I think the 
> default should
>>>  be the other
>>>>>   > way around.
>>>>>   >>>>>  I.e., the default would be to use 
> core's
>>>  slf4j and it's
>>>>>   > impl. So the
>>>>>   >>>>>  plugin
>>>>>   >>>>>  developer needs to do an active choice 
> to go
>>>  outside
>>>>>   > Maven's logging. Sure,
>>>>>   >>>>>  this could imply problems with existing 
> plugins
>>>  doing funky
>>>>>   > logging stuff
>>>>>   >>>>>  (like the Sonar plugin), but I don't 
> really
>>>  see a problem
>>>>>   > with those
>>>>>   >>>>>  plugins having to release a new version. 
> I think
>>>  it's more
>>>>>   > important that
>>>>>   >>>>>  we get good defaults than trying to make 
> every
>>>  existing plugin
>>>>>   > work as they
>>>>>   >>>>>  are implemented right now.
>>>>>   >>>>>
>>>>>   >>>>>  /Anders
>>>>>   >>>>>
>>>>>   >>>>>
>>>>>   >>>>>>
>>>>>   >>>>>>   Stephen: is this what you have in 
> mind?
>>>>>   >>>>>>
>>>>>   >>>>>>   Regards,
>>>>>   >>>>>>
>>>>>   >>>>>>   Hervé
>>>>>   >>>>>>
>>>>>   >>>>>>   Le vendredi 30 novembre 2012 
> 12:20:35
>>>  Stephen Connolly a
>>>>>   > écrit :
>>>>>   >>>>>>   > I tend to agree. There are two
>>>  use-cases I see that a
>>>>>   > plugin has for
>>>>>   >>>>>>   > bundling a logging 
> implementation:
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > 1. They are wanting to shunt 
> the logs
>>>  from the build
>>>>>   > tool they are
>>>>>   >>>>>>   invoking
>>>>>   >>>>>>   > on to the user. Typically if 
> they are
>>>  being good
>>>>>   > plugins they just
>>>>>   >>>>>  take
>>>>>   >>>>>>   the
>>>>>   >>>>>>   > logging output and shunt it 
> onto
>>>>>   > org.apache.maven.plugin.Log.info()
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > 2. They are wanting to shunt 
> the logs
>>>  from the build
>>>>>   > tool (or more
>>>>>   >>>>>  likely
>>>>>   >>>>>>   > app server) to a separate 
> file, or
>>>  tweak the level of
>>>>>   > logs higher than
>>>>>   >>>>>>   INFO
>>>>>   >>>>>>   > for that app server/mojo 
> execution as
>>>  it will just
>>>>>   > drown the user.
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > In the first use case, 
> Jason's
>>>  point is correct.
>>>>>   > They
>>>>>   >>>>>  shouldn't need to
>>>>>   >>>>>>   > bundle a logging 
> implementation any
>>>  more.
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > The second case, Jason is 
> arguing that
>>>  they
>>>>>   > shouldn't be using the
>>>>>   >>>>>  Maven
>>>>>   >>>>>>   > JVM for running that tool, 
> they should
>>>  be running it
>>>>>   > in a forked JVM
>>>>>   >>>>>  and
>>>>>   >>>>>>   > then they can configure the 
> logging in
>>>  that JVM. I
>>>>>   > disagree. Forking a
>>>>>   >>>>>>   JVM
>>>>>   >>>>>>   > for every little build tool 
> just to
>>>  control its
>>>>>   > logging is going to
>>>>>   >>>>>  kill
>>>>>   >>>>>>   > the build time.
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > My preference is for a 
> metadata flag
>>>  that says: Oy! I
>>>>>   > know what
>>>>>   >>>>>  I'm doing
>>>>>   >>>>>>   > with logging, so don't 
> pass logging
>>>  on to me.
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > While it feels like a 
> "special
>>>  case" the
>>>>>   > truth is logging is
>>>>>   >>>>>  always, and
>>>>>   >>>>>>   > always will be, a special 
> case!
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > -Stephen
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > On 30 November 2012 12:09, 
> Benson
>>>  Margulies
>>>>>   >>>>>  <bimargul...@gmail.com>
>>>>>   >>>>>>   wrote:
>>>>>   >>>>>>   > > On Thu, Nov 29, 2012 at 
> 11:05 PM,
>>>  Jason van Zyl
>>>>>   >>>>>  <ja...@tesla.io>
>>>>>   >>>>>>   wrote:
>>>>>   >>>>>>   > > > On Nov 29, 2012, at 
> 5:56 PM,
>>>  Benson
>>>>>   > Margulies
>>>>>   >>>>>  <bimargul...@gmail.com
>>>>>   >>>>>>   >
>>>>>   >>>>>>   > >
>>>>>   >>>>>>   > > wrote:
>>>>>   >>>>>>   > > >>> Currently 
> I'm of
>>>  the mind that
>>>>>   > if you make a
>>>>>   >>>>>  Maven plugin that uses
>>>>>   >>>>>>   > >
>>>>>   >>>>>>   > > something that employs 
> SLF4J then
>>>  the best
>>>>>   > practice is to only
>>>>>   >>>>>  use the
>>>>>   >>>>>>   API
>>>>>   >>>>>>   > > and let the host choose 
> the
>>>  implementation, in
>>>>>   > our case Maven.
>>>>>   >>>>>  Relying
>>>>>   >>>>>>   on
>>>>>   >>>>>>   > > SLF4J implementation 
> specifics in
>>>  a system
>>>>>   > you're embedded in
>>>>>   >>>>>  is not
>>>>>   >>>>>>   good
>>>>>   >>>>>>   > > e.g. Logback in Sonar 
> running in
>>>  Maven using
>>>>>   > SLF4J Simple. If y
>>>>>   >>>
>>>>>   >>>
>>>>>   >>
>>>>>   >>
>>>  ---------------------------------------------------------------------
>>>>>   >>  To unsubscribe, e-mail: 
> dev-unsubscr...@maven.apache.org
>>>>>   >>  For additional commands, e-mail: 
> dev-h...@maven.apache.org
>>>>>   >>
>>>>>   >
>>>>>   > --
>>>>>   > Daniel Kulp
>>>>>   > dk...@apache.org - http://dankulp.com/blog
>>>>>   > Talend Community Coder - http://coders.talend.com
>>>>>   >
>>>>>   >
>>>>>   >
>>>  ---------------------------------------------------------------------
>>>>>   > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>>>   > For additional commands, e-mail: 
> dev-h...@maven.apache.org
>>>>>   >
>>>>> 
>>>>>   
> ---------------------------------------------------------------------
>>>>>   To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>>>   For additional commands, e-mail: dev-h...@maven.apache.org
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>>   --
>>>>   E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>>   JUnit in Action, 2nd Ed: 
> <http://goog_1249600977>http://bit.ly/ECvg0
>>>>   Spring Batch in Action: 
> <http://s.apache.org/HOq>http://bit.ly/bqpbCK
>>>>   Blog: http://garygregory.wordpress.com
>>>>   Home: http://garygregory.com/
>>>>   Tweet! http://twitter.com/GaryGregory
>>> 
>>>  ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>  For additional commands, e-mail: dev-h...@maven.apache.org
>>> 
>> 
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>  For additional commands, e-mail: dev-h...@maven.apache.org
>> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to