nope, no problem with just slf4j api and logback. 
But that wont give us much benefit over just using plexus.Logger.
At least I do not see it yet

It would make sense if plugins could add a logging bridge which is used by 
'their' framework. But otoh we have already kind of a bridge by grabbing the 
stdout and redirecting that to the plexus logger.

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: Sunday, September 9, 2012 9:44 PM
> Subject: Re: SLF4J implementation [was Re: svn commit: r1380105 - in 
> /maven/maven-3/trunk: ./ apache-maven/ 
> maven-core/src/main/java/org/apache/maven/classrealm/ maven-embedder/ 
> maven-embedder/src/main/java/org/apache/maven/cli/]
> 
> On Sun, Sep 9, 2012 at 3:34 PM, Mark Struberg <strub...@yahoo.de> wrote:
>> 
>>>  No client code changes unless the client wants to change it to take 
> advantage of
>>>  SLF4J.
>> 
>>  It's not the classes which change but the classpath does. It might then 
> contain clashing classes. That is what I'm afraid of to be honest. Because 
> we do not have the 'other side' (random plugins and projects) under our 
> own control.
> 
> So, to be clear, we are not talking about the bridges *at all*.
> 
> Thus, I claim that Mark's concern boils down to the following: Let's
> say that we add slf4j-api, slf4j-logback, and logback-whatever to the
> classpath. If I am following, you are worried that some plugin author
> somewhere is already using logback with a different version and might
> get an unpleasant surprise when the version we pick shows up.
> 
> I find this scenario hard to credit. However, if it really worried us,
> we could shade the back end, and then the only possible means for
> trouble would be a plugin that wanted to use an incompatible version.
> 
> If that's not what's worrying you, please humor me with a complete,
> concrete, example. If it is, can you cite an example of an existing
> plugin that would bust?
> 
> 
> 
>> 
>> 
>>  LieGrue,
>>  strub
>> 
>> 
>> 
>>  ----- Original Message -----
>>>  From: Jason van Zyl <ja...@tesla.io>
>>>  To: Maven Developers List <dev@maven.apache.org>
>>>  Cc:
>>>  Sent: Sunday, September 9, 2012 8:43 PM
>>>  Subject: Re: SLF4J implementation [was Re: svn commit: r1380105 - in 
> /maven/maven-3/trunk: ./ apache-maven/ 
> maven-core/src/main/java/org/apache/maven/classrealm/ maven-embedder/ 
> maven-embedder/src/main/java/org/apache/maven/cli/]
>>> 
>>> 
>>>  On Sep 9, 2012, at 2:24 PM, Benson Margulies wrote:
>>> 
>>>>   Again, let's deal with this one thing at a time:
>>>> 
>>>>   1. Use slf4j-api as our primary facade/api for loggin in Maven. 
> I'm in
>>>>   favor, because it's much more common and popular than plexus.
>>>> 
>>>>   2. Picking an slf4j-X to deliver logging to somewhere. I'm 
> somewhat in
>>>>   favor of java.util.logging for this, because of the baroque 
> classpath
>>>>   interactions of log4j initialization. But if others prefer log4j 
> or
>>>>   even something else, OK.
>>>> 
>>> 
>>>  Yah, it's SLF4J so pick an implementation.
>>> 
>>>>   3. Tossing one or more X-slf4j bridges into the default plugin
>>>>   classpath. If Mark's concerns about surprises have any 
> foundations in
>>>>   technical reality, this is where they would turn up. I'm 
> doubtful, but
>>>>   on the other hand, what if we just didn't do this, and left it 
> to
>>>>   individual plugin authors to do this if, in fact, they wanted 
> mapping
>>>>   from some other logging API?
>>> 
>>>  I'm not suggesting this. I've routed the Mojo.getLog() through 
> SLF4J so
>>>  it just does what it does now except the backing implementation is the 
> SLF4J
>>>  implementation. If the user wants to use SLF4J and/or @Inject loggers 
> than they
>>>  have to specify the dependency.
>>> 
>>>  No client code changes unless the client wants to change it to take 
> advantage of
>>>  SLF4J.
>>> 
>>>> 
>>>>   It would be good for some others to join this discussion.
>>>> 
>>>> 
>>>> 
>>>>   On Sun, Sep 9, 2012 at 1:35 PM, Jason van Zyl 
> <ja...@tesla.io> wrote:
>>>>>   I think you're trying to preemptively solve for an issue 
> that we
>>>  may not have. I believe that if the right JARs are in the classpath 
> first we
>>>  will easily be able to tell running the integration tests for Maven and 
> the
>>>  integration tests for all the plugins if there's going to be an 
> issue. I
>>>  believe the Ceki has probably run into every integration scenario 
> imaginable
>>>  over the last 10 years and he'll help us if required.
>>>>> 
>>>>>   I have runt into nasty problems where the classpath and 
> classloaders
>>>  cannot be controlled directly from the host system, but this is 
> obviously within
>>>  our purview to control.
>>>>> 
>>>>>   On Sep 9, 2012, at 1:22 PM, Mark Struberg wrote:
>>>>> 
>>>>>> 
>>>>>>>   Generally I use jul-to-slf4j and jcl-over-slf4j and 
> then I
>>>  don't care what
>>>>>>>   components use what logging framework.
>>>>>>   Yes, only that this sometimes causes really unfriendly 
> classcast
>>>  exceptions :/
>>>>>> 
>>>>>>   How can we deal with those? Is there a retry possible? Imo 
> not
>>>  easily.
>>>>>>   Could we scan the plugin classpath upfront?
>>>>>>   Can a different class lookup strategy in our ClassRealms 
> help?
>>>>>>   Don't we care at all and people must exclude log4j et 
> all
>>>  manually if they like to use a new maven version?
>>>>>> 
>>>>>> 
>>>>>>   LieGrue
>>>>>>   strub
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>   ----- Original Message -----
>>>>>>>   From: Jason van Zyl <ja...@tesla.io>
>>>>>>>   To: Maven Developers List <dev@maven.apache.org>
>>>>>>>   Cc:
>>>>>>>   Sent: Sunday, September 9, 2012 7:08 PM
>>>>>>>   Subject: Re: SLF4J implementation [was Re: svn commit: 
> r1380105
>>>  - in /maven/maven-3/trunk: ./ apache-maven/
>>>  maven-core/src/main/java/org/apache/maven/classrealm/ maven-embedder/
>>>  maven-embedder/src/main/java/org/apache/maven/cli/]
>>>>>>> 
>>>>>>>   Boils down to 1) pick a logging facade and 2) pick a 
> default
>>>  implementation.
>>>>>>> 
>>>>>>>   SLF4J is really the de facto standard, used everywhere
>>>  including 15 projects
>>>>>>>   here at Apache.
>>>>>>> 
>>>>>>>   It's unlikely to be surprising to anyone with the 
> changes
>>>  I've made as
>>>>>>>   it will appear just like it does now. A bunch of log 
> statement
>>>  to the console.
>>>>>>>   It's unlikely any plugin author is going to care 
> about
>>>  changing the
>>>>>>>   implementation as its running inside Maven. 
> Integrators may
>>>  want to change the
>>>>>>>   implementation to control how components and plugins 
> log but
>>>  the authors of
>>>>>>>   plugins should not have to care.
>>>>>>> 
>>>>>>>   SLF4J accompanying utilities also help to sequester 
> log output
>>>  from commons
>>>>>>>   logging and JUL into the same funnel. So even if 
> plugin authors
>>>  are pulling in
>>>>>>>   component we could add the adapters and bridges to 
> make this
>>>  all work nicely. So
>>>>>>>   even if something is using commons-logging or JUL 
> under the
>>>  covers it will all
>>>>>>>   come out, ultimately, through SLF4J.
>>>>>>> 
>>>>>>>   Generally I use jul-to-slf4j and jcl-over-slf4j and 
> then I
>>>  don't care what
>>>>>>>   components use what logging framework.
>>>>>>> 
>>>>>>>   On Sep 9, 2012, at 12:43 PM, Benson Margulies wrote:
>>>>>>> 
>>>>>>>>   On Sun, Sep 9, 2012 at 12:38 PM, Mark Struberg
>>>  <strub...@yahoo.de>
>>>>>>>   wrote:
>>>>>>>>>   sorry, didn't catch this reply earlier.
>>>>>>>>> 
>>>>>>>>>   I see, but then we are back to my original 
> problem.
>>>  Once you add e.g.
>>>>>>>   log4j-slf4j binding then you will get nasty class cast
>>>  exceptions because they
>>>>>>>   are not fully binary compatible. If there is a 
> log4j.jar in the
>>>  classpath of the
>>>>>>>   plugin already then it might even crash with a weird 
> Exception.
>>>>>>>> 
>>>>>>>>   Folks, I'm sorry, but I'm not following 
> this
>>>  argument. I apologize
>>>>>>>   for
>>>>>>>>   being slow, but I really wish that someone would 
> sort this
>>>  into a
>>>>>>>>   small number of questions and explain the pros and 
> cons of
>>>  them.
>>>>>>>> 
>>>>>>>>   I'm fine with declaring SLF4J to be the 
> primary logging
>>>  API inside
>>>>>>>>   Maven, and leaving it to individual plugin authors 
> to toss
>>>  in X-slf4j
>>>>>>>>   if they want to. I can see why putting X-slf4j 
> into the
>>>  plugin
>>>>>>>>   classpath by default could have surprising and 
> unpleasant
>>>  results, but
>>>>>>>>   there might be a persuasive reason to do it 
> anyway.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   I've seen such problems in the wild.
>>>>>>>>>   This is nothing which slf4j does wrong - 
> it's just
>>>  not really
>>>>>>>   possible to do it 100% right.
>>>>>>>>> 
>>>>>>>>>   We imo only have the option to choose between 
> different
>>>  kinds of
>>>>>>>   'broken'.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   LieGrue,
>>>>>>>>>   strub
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   ----- Original Message -----
>>>>>>>>>>   From: Jason van Zyl <ja...@tesla.io>
>>>>>>>>>>   To: Maven Developers List
>>>  <dev@maven.apache.org>; Mark
>>>>>>>   Struberg <strub...@yahoo.de>
>>>>>>>>>>   Cc:
>>>>>>>>>>   Sent: Sunday, September 9, 2012 4:22 PM
>>>>>>>>>>   Subject: Re: SLF4J implementation [was Re: 
> svn
>>>  commit: r1380105 -
>>>>>>>   in /maven/maven-3/trunk: ./ apache-maven/
>>>>>>>   maven-core/src/main/java/org/apache/maven/classrealm/
>>>  maven-embedder/
>>>>>>>   maven-embedder/src/main/java/org/apache/maven/cli/]
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>   On Sep 9, 2012, at 4:17 AM, Mark Struberg 
> wrote:
>>>>>>>>>> 
>>>>>>>>>>>   Can you again please explain me what 
> the
>>>  benefit of the SLF4J
>>>>>>>   abstraction
>>>>>>>>>>   over the already used plexus.Logger is? 
> Both are
>>>  just logging
>>>>>>>   facades.
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>   But really I think the biggest benefit is 
> that, as
>>>  far as I know,
>>>>>>>   SLF4J
>>>>>>>>>>   integrates with every known logging 
> framework right
>>>  now. In that it
>>>>>>>   can coerce
>>>>>>>>>>   JUL, and CL logging into a unified 
> framework which
>>>  I don't
>>>>>>>   believe any of
>>>>>>>>>>   the other frameworks do, or do as well. 
> Maven is
>>>  about integration
>>>>>>>   and for
>>>>>>>>>>   logging I believe it's the best 
> solution that
>>>  exists for the
>>>>>>>   least effort.
>>>>>>>>>> 
>>>>>>>>>>   I think it's been adopted at Apache by 
> so many
>>>  projects
>>>>>>>   specifically for
>>>>>>>>>>   those reasons. Ceki is also a committer, 
> and will
>>>  help us fix
>>>>>>>   anything when
>>>>>>>>>>   necessary so that, again, we can focus on 
> Maven and
>>>  not logging.
>>>>>>>>>> 
>>>>>>>>>>   Thanks,
>>>>>>>>>> 
>>>>>>>>>>   Jason
>>>>>>>>>> 
>>>>>>>>>> 
>>>  ----------------------------------------------------------
>>>>>>>>>>   Jason van Zyl
>>>>>>>>>>   Founder & CTO, Sonatype
>>>>>>>>>>   Founder,  Apache Maven
>>>>>>>>>>   http://twitter.com/jvanzyl
>>>>>>>>>> 
>>>  ---------------------------------------------------------
>>>>>>>>>> 
>>>>>>>>>>   Selfish deeds are the shortest path to 
> self
>>>  destruction.
>>>>>>>>>> 
>>>>>>>>>>   -- The Seven Samuari, Akira Kurosawa
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>  ---------------------------------------------------------------------
>>>>>>>>>   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
>>>>>>>> 
>>>>>>> 
>>>>>>>   Thanks,
>>>>>>> 
>>>>>>>   Jason
>>>>>>> 
>>>>>>>   
> ----------------------------------------------------------
>>>>>>>   Jason van Zyl
>>>>>>>   Founder & CTO, Sonatype
>>>>>>>   Founder,  Apache Maven
>>>>>>>   http://twitter.com/jvanzyl
>>>>>>>   
> ---------------------------------------------------------
>>>>>>> 
>>>>>>>   believe nothing, no matter where you read it,
>>>>>>>   or who has said it,
>>>>>>>   not even if i have said it,
>>>>>>>   unless it agrees with your own reason
>>>>>>>   and your own common sense.
>>>>>>> 
>>>>>>>   -- Buddha
>>>>>>> 
>>>>>> 
>>>>>> 
>>>  ---------------------------------------------------------------------
>>>>>>   To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>>>>   For additional commands, e-mail: dev-h...@maven.apache.org
>>>>>> 
>>>>> 
>>>>>   Thanks,
>>>>> 
>>>>>   Jason
>>>>> 
>>>>>   ----------------------------------------------------------
>>>>>   Jason van Zyl
>>>>>   Founder & CTO, Sonatype
>>>>>   Founder,  Apache Maven
>>>>>   http://twitter.com/jvanzyl
>>>>>   ---------------------------------------------------------
>>>>> 
>>>>>   A man enjoys his work when he understands the whole and when 
> he
>>>>>   is responsible for the quality of the whole
>>>>> 
>>>>>   -- Christopher Alexander, A Pattern Language
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>>   
> ---------------------------------------------------------------------
>>>>   To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>>   For additional commands, e-mail: dev-h...@maven.apache.org
>>>> 
>>> 
>>>  Thanks,
>>> 
>>>  Jason
>>> 
>>>  ----------------------------------------------------------
>>>  Jason van Zyl
>>>  Founder & CTO, Sonatype
>>>  Founder,  Apache Maven
>>>  http://twitter.com/jvanzyl
>>>  ---------------------------------------------------------
>>> 
>>>  I never make the mistake of arguing with people for whose opinions I 
> have no
>>>  respect.
>>> 
>>>  -- Edward Gibbon
>>> 
>> 
>>  ---------------------------------------------------------------------
>>  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