On Sun, Sep 9, 2012 at 4:19 PM, Mark Struberg <strub...@yahoo.de> wrote:
> 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.

Of course plugins can add bridges that mapped in their favorite
framework in Jason's scheme.

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

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

Reply via email to