CVS: plexus-container-new/src/java/org/apache/plexus/logging ConsoleLoggerManager.java,NONE,1.1 LoggerManagerFactory.java,NONE,1.1

[email protected] Sun, 27 Apr 2003 15:20:06 -0500
Newsgroups gmane.comp.java.plexus.devel
Message-ID <[email protected]>
Update of /cvsroot/plexus/plexus-container-new/src/java/org/apache/plexus/logging
In directory eng.werken.com:/tmp/cvs-serv9114/src/java/org/apache/plexus/logging

Added Files:
	ConsoleLoggerManager.java LoggerManagerFactory.java 
Log Message:
o Added an abstract factory that will be the basis for allowing pluggable
  base entities in Plexus. Currently the logger manager and lifecycle handler
  are pluggable.


--- NEW FILE: ConsoleLoggerManager.java ---
package org.apache.plexus.logging;

import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.configuration.Configuration;

public class ConsoleLoggerManager
    implements LoggerManager
{
    private ConsoleLogger consoleLogger;

    public void configure( Configuration configuration )
    {
    }

    public void initialize()
        throws Exception
    {
        consoleLogger = new ConsoleLogger();
    }

    public void start()
        throws Exception
    {
    }

    public void stop()
    {
    }

    public Logger getRootLogger()
    {
        return consoleLogger;
    }

    public Logger getLogger( String name )
    {
        return consoleLogger.getChildLogger( name );
    }
}

--- NEW FILE: LoggerManagerFactory.java ---
package org.apache.plexus.logging;

import org.apache.avalon.framework.configuration.Configuration;
import org.apache.plexus.lifecycle.phase.Phase;
import org.apache.plexus.lifecycle.LifecycleHandler;
import org.apache.plexus.factory.AbstractPlexusFactory;

public class LoggerManagerFactory
    extends AbstractPlexusFactory
{
    public static LoggerManager create( Configuration configuration, ClassLoader classLoader )
        throws Exception
    {
        LoggerManager lm =
            (LoggerManager) getInstance( configuration.getChild( "implementation" ).getValue(),
                                         classLoader );

        lm.configure( configuration );
        lm.initialize();
        lm.start();

        return lm;
    }
}