maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Struberg <strub...@yahoo.de>
Subject 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/
Date Mon, 03 Sep 2012 10:01:47 GMT


> A simpler approach
> would be to produce a bridge dependency: slf4j-maven so that everyone that
> has dependencies that use slf4j can trivially route their dependency
> logging through to maven


+1 for taking this route. That would also allow us to adopt easily for future API changes.
Been there, done that ...

LieGrue,
strub

>________________________________
> From: Stephen Connolly <stephen.alan.connolly@gmail.com>
>To: Maven Developers List <dev@maven.apache.org>; Mark Struberg <struberg@yahoo.de>

>Sent: Monday, September 3, 2012 11:55 AM
>Subject: 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 3 September 2012 09:59, Mark Struberg <struberg@yahoo.de> wrote:
>
>>
>> > imports.put( "org.slf4j.*", coreRealm );
>>
>> To me this looks like any org.slf4j sub package would be exported.
>>
>
>slf4j is such a ubiquitous logging framework that it seems to me that it
>would make sense to allow any plugins that have dependencies that use slf4j
>to log through to maven.
>
>
>>
>> The whole goal of org.codehaus.plexus.logging.Logger was to shield the
>> user from ANY specific logging framework. That way we could back the plexus
>> Logger with any implementation the user wants.
>>
>>
>> We already HAVE a logging bridge. Imo there is just no need to introduce
>> another one!
>>
>
>That is fine for plugin code, but why should *everyone* else have to
>rewrite the same bridge from slf4j to our logging bridge?
>
>And then that bridge routes back to slf4j?
>
>
>> To kind of hardcode this now to slf4j is frankly speaking nonsense imo.
>>
>>
>Perhaps. I have concerns about slf4j API stability having seen some issues
>with slf4j 1.5 vs 1.6 which I resolved and forgot about. A simpler approach
>would be to produce a bridge dependency: slf4j-maven so that everyone that
>has dependencies that use slf4j can trivially route their dependency
>logging through to maven
>
>
>> But maybe I just missed the point? What is the reason for it?
>>
>>
>Consider jetty:run... jetty sends its logging to slf4j... so to play
>properly the plugin *should* be picking up those logs and routing them
>through to Maven so that Maven's logging controls can correctly filter the
>logs... now tomcat:run needs to do the same, etc....
>
>There is logging bridge madness all over the shop.
>
>Logging bridges should be as close to the logger as possible, especially in
>a short lived tool such as Maven, where the JVM may not have had a chance
>to optimize out the bridge.
>
>For server classes such as, e.g. MyFaces, the use of a bridge is less of an
>issue as the JVM will optimize it out of the code since there is only one
>trivial implementation and that can be in-lined and reduced away to a
>direct call.
>
>But a build tool that is invoking other 3rd party libs on a short lived
>lifecycle will have a performance hit for the logging calls.
>
>That is the argument for exposing directly.
>
>The argument against is that slf4j's API sucks... though it sucks less than
>any other logging api out there at the moment... there are still issues
>with it ;-)
>
>
>>
>> LieGrue,
>> strub
>>
>>
>> >________________________________
>> > From: Stephen Connolly <stephen.alan.connolly@gmail.com>
>> >To: Maven Developers List <dev@maven.apache.org>; Mark Struberg <
>> struberg@yahoo.de>
>> >Sent: Monday, September 3, 2012 10:42 AM
>> >Subject: 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/
>> >
>> >
>> >I'm not seeing log4j-over-slf4j in the dependency tree there at all... so
>> where is the bridge?
>> >
>> >
>> >On 3 September 2012 08:10, Mark Struberg <struberg@yahoo.de> wrote:
>> >
>> >whats the reason for the slf4j bridge?
>> >>
>> >>This is kown to trash old plugins which use log4j because it clashes
>> with it's namespace and only partly implements the log4j classes.
>> >>
>> >>I personally ind slf4j nice, but for older projects which use
>> commons-logging or log4j already (and where you cant fiddle around with
>> their sources) this broke way too many things for me.
>> >>Why is this needed at all? Has nothing to do with JSR-330.
>> >>
>> >>LieGrue,
>> >>strub
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>----- Original Message -----
>> >>> From: "jvanzyl@apache.org" <jvanzyl@apache.org>
>> >>> To: commits@maven.apache.org
>> >>> Cc:
>> >>> Sent: Monday, September 3, 2012 3:07 AM
>> >>> Subject: 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/
>> >>>
>> >>> Author: jvanzyl
>> >>> Date: Mon Sep  3 01:07:31 2012
>> >>> New Revision: 1380105
>> >>>
>> >>> URL: http://svn.apache.org/viewvc?rev=1380105&view=rev
>> >>> Log:
>> >>> o Enabled support and discovery of JSR-330 components
>> >>>
>> >>> o Added Slf4j logger factory to support generic JSR-330 logging
>> >>>
>> >>> o Exported Guice package for components that access Guice (or better
>> it's
>> >>> injector) directly
>> >>>
>> >>> Widen export of Guice packages (not ideal, need to look into ways to
>> avoid this)
>> >>>
>> >>> o use specific exports
>> >>>
>> >>> o for now we will attempt to hide all of Guice in plugin realms and
>> we'll do
>> >>> a bit of testing
>> >>>
>> >>> closes #3
>> >>>
>> >>> Added:
>> >>>
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLogger.java
>> >>>
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLoggerFactory.java
>> >>> Modified:
>> >>>     maven/maven-3/trunk/apache-maven/pom.xml
>> >>>
>> >>>
>> maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
>> >>>     maven/maven-3/trunk/maven-embedder/pom.xml
>> >>>
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
>> >>>     maven/maven-3/trunk/pom.xml
>> >>>
>> >>> Modified: maven/maven-3/trunk/apache-maven/pom.xml
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/apache-maven/pom.xml?rev=1380105&r1=1380104&r2=1380105&view=diff
>> >>>
>> ==============================================================================
>> >>> --- maven/maven-3/trunk/apache-maven/pom.xml (original)
>> >>> +++ maven/maven-3/trunk/apache-maven/pom.xml Mon Sep  3 01:07:31 2012
>> >>> @@ -83,6 +83,10 @@
>> >>>        <groupId>org.sonatype.aether</groupId>
>> >>>        <artifactId>aether-connector-wagon</artifactId>
>> >>>      </dependency>
>> >>> +    <dependency>
>> >>> +      <groupId>org.slf4j</groupId>
>> >>> +      <artifactId>slf4j-nop</artifactId>
>> >>> +    </dependency>
>> >>>    </dependencies>
>> >>>
>> >>>    <build>
>> >>>
>> >>> Modified:
>> >>>
>> maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java?rev=1380105&r1=1380104&r2=1380105&view=diff
>> >>>
>> ==============================================================================
>> >>> ---
>> >>>
>> maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
>> >>> (original)
>> >>> +++
>> >>>
>> maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
>> >>> Mon Sep  3 01:07:31 2012
>> >>> @@ -198,6 +198,26 @@ public class DefaultClassRealmManager
>> >>>          imports.put(
>> >>> "org.codehaus.plexus.util.xml.pull.XmlPullParser", coreRealm );
>> >>>          imports.put(
>> >>> "org.codehaus.plexus.util.xml.pull.XmlPullParserException", coreRealm
>> >>> );
>> >>>          imports.put(
>> >>> "org.codehaus.plexus.util.xml.pull.XmlSerializer", coreRealm );
>> >>> +
>> >>> +        // javax.inject, sisu-inject (JSR-330)
>> >>> +        imports.put( "javax.inject.*", coreRealm );
>> >>> +        imports.put( "javax.enterprise.inject.*", coreRealm );
>> >>> +        imports.put( "org.sonatype.inject.*", coreRealm );
>> >>> +        imports.put( "org.slf4j.*", coreRealm );
>> >>> +
>> >>> +        // com.google
>> >>> +        //
>> >>> +        // We may potentially want to export these, but right now
I'm
>> not
>> >>> sure that anything Guice specific needs
>> >>> +        // to be made available to plugin authors. If we find people
>> are
>> >>> getting fancy and want to take advantage
>> >>> +        // of Guice specifics we can expose that later. Really
some
>> testing
>> >>> needs to be done to see full hiding
>> >>> +        // of Guice has any impact on what we may categorize as
a
>> standard
>> >>> JSR-330 based Tesla/Maven plugin.
>> >>> +        //
>> >>> +        // imports.put( "com.google.inject.*", coreRealm );
>> >>> +        // imports.put( "com.google.inject.binder.*", coreRealm
);
>> >>> +        // imports.put( "com.google.inject.matcher.*", coreRealm
);
>> >>> +        // imports.put( "com.google.inject.name.*", coreRealm );
>> >>> +        // imports.put( "com.google.inject.spi.*", coreRealm );
>> >>> +        // imports.put( "com.google.inject.util.*", coreRealm );
>> >>>      }
>> >>>
>> >>>      /**
>> >>>
>> >>> Modified: maven/maven-3/trunk/maven-embedder/pom.xml
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/pom.xml?rev=1380105&r1=1380104&r2=1380105&view=diff
>> >>>
>> ==============================================================================
>> >>> --- maven/maven-3/trunk/maven-embedder/pom.xml (original)
>> >>> +++ maven/maven-3/trunk/maven-embedder/pom.xml Mon Sep  3 01:07:31
2012
>> >>> @@ -70,6 +70,10 @@
>> >>>        <groupId>org.sonatype.plexus</groupId>
>> >>>        <artifactId>plexus-cipher</artifactId>
>> >>>      </dependency>
>> >>> +    <dependency>
>> >>> +      <groupId>org.slf4j</groupId>
>> >>> +      <artifactId>slf4j-api</artifactId>
>> >>> +    </dependency>
>> >>>      <!-- CLI -->
>> >>>      <dependency>
>> >>>        <groupId>commons-cli</groupId>
>> >>>
>> >>> Modified:
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=1380105&r1=1380104&r2=1380105&view=diff
>> >>>
>> ==============================================================================
>> >>> ---
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
>> >>> (original)
>> >>> +++
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
>> >>> Mon Sep  3 01:07:31 2012
>> >>> @@ -59,12 +59,14 @@ import org.apache.maven.settings.buildin
>> >>> import org.codehaus.plexus.ContainerConfiguration;
>> >>> import org.codehaus.plexus.DefaultContainerConfiguration;
>> >>> import org.codehaus.plexus.DefaultPlexusContainer;
>> >>> +import org.codehaus.plexus.PlexusConstants;
>> >>> import org.codehaus.plexus.PlexusContainer;
>> >>> import org.codehaus.plexus.classworlds.ClassWorld;
>> >>> import org.codehaus.plexus.classworlds.realm.ClassRealm;
>> >>> import
>> >>>
>> org.codehaus.plexus.component.repository.exception.ComponentLookupException;
>> >>> import org.codehaus.plexus.logging.Logger;
>> >>> import org.codehaus.plexus.util.StringUtils;
>> >>> +import org.slf4j.ILoggerFactory;
>> >>> import org.sonatype.aether.transfer.TransferListener;
>> >>> import org.sonatype.plexus.components.cipher.DefaultPlexusCipher;
>> >>> import
>> org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher;
>> >>> @@ -72,6 +74,8 @@ import org.sonatype.plexus.components.se
>> >>> import org.sonatype.plexus.components.sec.dispatcher.SecUtil;
>> >>> import
>> org.sonatype.plexus.components.sec.dispatcher.model.SettingsSecurity;
>> >>>
>> >>> +import com.google.inject.AbstractModule;
>> >>> +
>> >>> // TODO: push all common bits back to plexus cli and prepare for
>> transition to
>> >>> Guice. We don't need 50 ways to make CLIs
>> >>>
>> >>> /**
>> >>> @@ -372,17 +376,29 @@ public class MavenCli
>> >>>          {
>> >>>              logger = setupLogger( cliRequest );
>> >>>
>> >>> +            final MavenLoggerManager loggerManager = new
>> MavenLoggerManager(
>> >>> logger ) ;
>> >>> +
>> >>>              ContainerConfiguration cc = new
>> DefaultContainerConfiguration()
>> >>>                  .setClassWorld( cliRequest.classWorld )
>> >>>                  .setRealm( setupContainerRealm( cliRequest
) )
>> >>> +                .setClassPathScanning( PlexusConstants.SCANNING_INDEX
>> )
>> >>> +                .setAutoWiring( true )
>> >>>                  .setName( "maven" );
>> >>>
>> >>> -            container = new DefaultPlexusContainer( cc );
>> >>> +            container = new DefaultPlexusContainer( cc, new
>> AbstractModule()
>> >>> +            {
>> >>> +
>> >>> +                protected void configure()
>> >>> +                {
>> >>> +                    bind( ILoggerFactory.class ).toInstance(
new
>> >>> PlexusLoggerFactory( loggerManager ) );
>> >>> +                }
>> >>> +
>> >>> +            } );
>> >>>
>> >>>              // NOTE: To avoid inconsistencies, we'll use the
TCCL
>> >>> exclusively for lookups
>> >>>              container.setLookupRealm( null );
>> >>>
>> >>> -            container.setLoggerManager( new MavenLoggerManager(
>> logger ) );
>> >>> +            container.setLoggerManager( loggerManager );
>> >>>
>> >>>              customizeContainer( container );
>> >>>
>> >>>
>> >>> Added:
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLogger.java
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLogger.java?rev=1380105&view=auto
>> >>>
>> ==============================================================================
>> >>> ---
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLogger.java
>> >>> (added)
>> >>> +++
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLogger.java
>> >>> Mon Sep  3 01:07:31 2012
>> >>> @@ -0,0 +1,358 @@
>> >>> +package org.apache.maven.cli;
>> >>> +
>> >>> +/*
>> >>> + * Licensed to the Apache Software Foundation (ASF) under one
>> >>> + * or more contributor license agreements.  See the NOTICE file
>> >>> + * distributed with this work for additional information
>> >>> + * regarding copyright ownership.  The ASF licenses this file
>> >>> + * to you under the Apache License, Version 2.0 (the
>> >>> + * "License"); you may not use this file except in compliance
>> >>> + * with the License.  You may obtain a copy of the License at
>> >>> + *
>> >>> + *  http://www.apache.org/licenses/LICENSE-2.0
>> >>> + *
>> >>> + * Unless required by applicable law or agreed to in writing,
>> >>> + * software distributed under the License is distributed on an
>> >>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> >>> + * KIND, either express or implied.  See the License for the
>> >>> + * specific language governing permissions and limitations
>> >>> + * under the License.
>> >>> + */
>> >>> +
>> >>> +import org.slf4j.Logger;
>> >>> +import org.slf4j.Marker;
>> >>> +import org.slf4j.helpers.FormattingTuple;
>> >>> +import org.slf4j.helpers.MessageFormatter;
>> >>> +
>> >>> +/**
>> >>> + * A Slf4j logger bridged onto a Plexus logger.
>> >>> + */
>> >>> +class PlexusLogger
>> >>> +    implements Logger
>> >>> +{
>> >>> +
>> >>> +    private final org.codehaus.plexus.logging.Logger logger;
>> >>> +
>> >>> +    public PlexusLogger( org.codehaus.plexus.logging.Logger logger
)
>> >>> +    {
>> >>> +        this.logger = logger;
>> >>> +    }
>> >>> +
>> >>> +    public String getName()
>> >>> +    {
>> >>> +        return logger.getName();
>> >>> +    }
>> >>> +
>> >>> +    public boolean isTraceEnabled()
>> >>> +    {
>> >>> +        return isDebugEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void trace( String msg )
>> >>> +    {
>> >>> +        debug( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( String format, Object arg )
>> >>> +    {
>> >>> +        debug( format, arg );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( String format, Object arg1, Object arg2 )
>> >>> +    {
>> >>> +        debug( format, arg1, arg2 );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( String format, Object[] argArray )
>> >>> +    {
>> >>> +        debug( format, argArray );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( String msg, Throwable t )
>> >>> +    {
>> >>> +        debug( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isTraceEnabled( Marker marker )
>> >>> +    {
>> >>> +        return isTraceEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void trace( Marker marker, String msg )
>> >>> +    {
>> >>> +        trace( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( Marker marker, String format, Object arg )
>> >>> +    {
>> >>> +        trace( format, arg );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( Marker marker, String format, Object arg1,
>> Object arg2 )
>> >>> +    {
>> >>> +        trace( format, arg1, arg2 );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( Marker marker, String format, Object[]
>> argArray )
>> >>> +    {
>> >>> +        trace( format, argArray );
>> >>> +    }
>> >>> +
>> >>> +    public void trace( Marker marker, String msg, Throwable t )
>> >>> +    {
>> >>> +        trace( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isDebugEnabled()
>> >>> +    {
>> >>> +        return logger.isDebugEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void debug( String msg )
>> >>> +    {
>> >>> +        logger.debug( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( String format, Object arg )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg
);
>> >>> +        logger.debug( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( String format, Object arg1, Object arg2 )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg1,
>> arg2 );
>> >>> +        logger.debug( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( String format, Object[] argArray )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.arrayFormat( format,
>> argArray );
>> >>> +        logger.debug( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( String msg, Throwable t )
>> >>> +    {
>> >>> +        logger.debug( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isDebugEnabled( Marker marker )
>> >>> +    {
>> >>> +        return isDebugEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void debug( Marker marker, String msg )
>> >>> +    {
>> >>> +        debug( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( Marker marker, String format, Object arg )
>> >>> +    {
>> >>> +        debug( format, arg );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( Marker marker, String format, Object arg1,
>> Object arg2 )
>> >>> +    {
>> >>> +        debug( format, arg1, arg2 );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( Marker marker, String format, Object[]
>> argArray )
>> >>> +    {
>> >>> +        debug( format, argArray );
>> >>> +    }
>> >>> +
>> >>> +    public void debug( Marker marker, String msg, Throwable t )
>> >>> +    {
>> >>> +        debug( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isInfoEnabled()
>> >>> +    {
>> >>> +        return logger.isInfoEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void info( String msg )
>> >>> +    {
>> >>> +        logger.info( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void info( String format, Object arg )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg
);
>> >>> +        logger.info( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void info( String format, Object arg1, Object arg2 )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg1,
>> arg2 );
>> >>> +        logger.info( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void info( String format, Object[] argArray )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.arrayFormat( format,
>> argArray );
>> >>> +        logger.info( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void info( String msg, Throwable t )
>> >>> +    {
>> >>> +        logger.info( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isInfoEnabled( Marker marker )
>> >>> +    {
>> >>> +        return isInfoEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void info( Marker marker, String msg )
>> >>> +    {
>> >>> +        info( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void info( Marker marker, String format, Object arg )
>> >>> +    {
>> >>> +        info( format, arg );
>> >>> +    }
>> >>> +
>> >>> +    public void info( Marker marker, String format, Object arg1,
>> Object arg2 )
>> >>> +    {
>> >>> +        info( format, arg1, arg2 );
>> >>> +    }
>> >>> +
>> >>> +    public void info( Marker marker, String format, Object[] argArray
>> )
>> >>> +    {
>> >>> +        info( format, argArray );
>> >>> +    }
>> >>> +
>> >>> +    public void info( Marker marker, String msg, Throwable t )
>> >>> +    {
>> >>> +        info( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isWarnEnabled()
>> >>> +    {
>> >>> +        return logger.isWarnEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void warn( String msg )
>> >>> +    {
>> >>> +        logger.warn( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( String format, Object arg )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg
);
>> >>> +        logger.warn( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( String format, Object arg1, Object arg2 )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg1,
>> arg2 );
>> >>> +        logger.warn( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( String format, Object[] argArray )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.arrayFormat( format,
>> argArray );
>> >>> +        logger.warn( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( String msg, Throwable t )
>> >>> +    {
>> >>> +        logger.warn( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isWarnEnabled( Marker marker )
>> >>> +    {
>> >>> +        return isWarnEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void warn( Marker marker, String msg )
>> >>> +    {
>> >>> +        warn( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( Marker marker, String format, Object arg )
>> >>> +    {
>> >>> +        warn( format, arg );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( Marker marker, String format, Object arg1,
>> Object arg2 )
>> >>> +    {
>> >>> +        warn( format, arg1, arg2 );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( Marker marker, String format, Object[] argArray
>> )
>> >>> +    {
>> >>> +        warn( format, argArray );
>> >>> +    }
>> >>> +
>> >>> +    public void warn( Marker marker, String msg, Throwable t )
>> >>> +    {
>> >>> +        warn( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isErrorEnabled()
>> >>> +    {
>> >>> +        return logger.isErrorEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void error( String msg )
>> >>> +    {
>> >>> +        logger.error( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void error( String format, Object arg )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg
);
>> >>> +        logger.error( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void error( String format, Object arg1, Object arg2 )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.format( format, arg1,
>> arg2 );
>> >>> +        logger.error( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void error( String format, Object[] argArray )
>> >>> +    {
>> >>> +        FormattingTuple ft = MessageFormatter.arrayFormat( format,
>> argArray );
>> >>> +        logger.error( ft.getMessage(), ft.getThrowable() );
>> >>> +    }
>> >>> +
>> >>> +    public void error( String msg, Throwable t )
>> >>> +    {
>> >>> +        logger.error( msg, t );
>> >>> +    }
>> >>> +
>> >>> +    public boolean isErrorEnabled( Marker marker )
>> >>> +    {
>> >>> +        return isErrorEnabled();
>> >>> +    }
>> >>> +
>> >>> +    public void error( Marker marker, String msg )
>> >>> +    {
>> >>> +        error( msg );
>> >>> +    }
>> >>> +
>> >>> +    public void error( Marker marker, String format, Object arg )
>> >>> +    {
>> >>> +        error( format, arg );
>> >>> +    }
>> >>> +
>> >>> +    public void error( Marker marker, String format, Object arg1,
>> Object arg2 )
>> >>> +    {
>> >>> +        error( format, arg1, arg2 );
>> >>> +    }
>> >>> +
>> >>> +    public void error( Marker marker, String format, Object[]
>> argArray )
>> >>> +    {
>> >>> +        error( format, argArray );
>> >>> +    }
>> >>> +
>> >>> +    public void error( Marker marker, String msg, Throwable t )
>> >>> +    {
>> >>> +        error( msg, t );
>> >>> +    }
>> >>> +
>> >>> +}
>> >>>
>> >>> Added:
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLoggerFactory.java
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLoggerFactory.java?rev=1380105&view=auto
>> >>>
>> ==============================================================================
>> >>> ---
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLoggerFactory.java
>> >>> (added)
>> >>> +++
>> >>>
>> maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PlexusLoggerFactory.java
>> >>> Mon Sep  3 01:07:31 2012
>> >>> @@ -0,0 +1,50 @@
>> >>> +package org.apache.maven.cli;
>> >>> +
>> >>> +/*
>> >>> + * Licensed to the Apache Software Foundation (ASF) under one
>> >>> + * or more contributor license agreements.  See the NOTICE file
>> >>> + * distributed with this work for additional information
>> >>> + * regarding copyright ownership.  The ASF licenses this file
>> >>> + * to you under the Apache License, Version 2.0 (the
>> >>> + * "License"); you may not use this file except in compliance
>> >>> + * with the License.  You may obtain a copy of the License at
>> >>> + *
>> >>> + *  http://www.apache.org/licenses/LICENSE-2.0
>> >>> + *
>> >>> + * Unless required by applicable law or agreed to in writing,
>> >>> + * software distributed under the License is distributed on an
>> >>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> >>> + * KIND, either express or implied.  See the License for the
>> >>> + * specific language governing permissions and limitations
>> >>> + * under the License.
>> >>> + */
>> >>> +
>> >>> +import org.codehaus.plexus.logging.LoggerManager;
>> >>> +import org.slf4j.ILoggerFactory;
>> >>> +import org.slf4j.Logger;
>> >>> +
>> >>> +/**
>> >>> + * A Slf4j logger factory bridged onto a Plexus logger manager.
>> >>> + */
>> >>> +public class PlexusLoggerFactory
>> >>> +    implements ILoggerFactory
>> >>> +{
>> >>> +
>> >>> +    private LoggerManager loggerManager;
>> >>> +
>> >>> +    public PlexusLoggerFactory( LoggerManager loggerManager )
>> >>> +    {
>> >>> +        this.loggerManager = loggerManager;
>> >>> +    }
>> >>> +
>> >>> +    public void setLoggerManager( LoggerManager loggerManager )
>> >>> +    {
>> >>> +        this.loggerManager = loggerManager;
>> >>> +    }
>> >>> +
>> >>> +    public Logger getLogger( String name )
>> >>> +    {
>> >>> +        return new PlexusLogger( loggerManager.getLoggerForComponent(
>> name,
>> >>> null ) );
>> >>> +    }
>> >>> +
>> >>> +}
>> >>>
>> >>> Modified: maven/maven-3/trunk/pom.xml
>> >>> URL:
>> >>>
>> http://svn.apache.org/viewvc/maven/maven-3/trunk/pom.xml?rev=1380105&r1=1380104&r2=1380105&view=diff
>> >>>
>> ==============================================================================
>> >>> --- maven/maven-3/trunk/pom.xml (original)
>> >>> +++ maven/maven-3/trunk/pom.xml Mon Sep  3 01:07:31 2012
>> >>> @@ -56,6 +56,7 @@
>> >>>      <modelloVersion>1.4.1</modelloVersion>
>> >>>      <jxpathVersion>1.3</jxpathVersion>
>> >>>      <aetherVersion>1.13.1</aetherVersion>
>> >>> +    <slf4jVersion>1.6.1</slf4jVersion>
>> >>>
>> >>>
>> <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
>> >>>      <!-- Control the name of the distribution and information
output
>> by mvn
>> >>> -->
>> >>>      <distributionId>apache-maven</distributionId>
>> >>> @@ -203,6 +204,17 @@
>> >>>          <artifactId>plexus-interpolation</artifactId>
>> >>>          <version>${plexusInterpolationVersion}</version>
>> >>>        </dependency>
>> >>> +      <dependency>
>> >>> +        <groupId>org.slf4j</groupId>
>> >>> +        <artifactId>slf4j-api</artifactId>
>> >>> +        <version>${slf4jVersion}</version>
>> >>> +      </dependency>
>> >>> +      <dependency>
>> >>> +        <groupId>org.slf4j</groupId>
>> >>> +        <artifactId>slf4j-nop</artifactId>
>> >>> +        <version>${slf4jVersion}</version>
>> >>> +        <scope>runtime</scope>
>> >>> +      </dependency>
>> >>>        <!--  Wagon -->
>> >>>        <dependency>
>> >>>          <groupId>org.apache.maven.wagon</groupId>
>> >>>
>> >>
>> >>---------------------------------------------------------------------
>> >>To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> >>For additional commands, e-mail: dev-help@maven.apache.org
>> >>
>> >>
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>>
>
>
>

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


Mime
View raw message