You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ym...@apache.org on 2002/08/13 14:59:12 UTC

cvs commit: jakarta-avalon-excalibur/csframework/src/cs/Logger AbstractLogEnabled.cs ConsoleLogger.cs ILogEnabled.cs ILogger.cs Log4netLogger.cs NullLogger.cs

ymikulski    2002/08/13 05:59:11

  Added:       csframework/src/cs/Logger AbstractLogEnabled.cs
                        ConsoleLogger.cs ILogEnabled.cs ILogger.cs
                        Log4netLogger.cs NullLogger.cs
  Log:
  no message
  
  Revision  Changes    Path
  1.1                  jakarta-avalon-excalibur/csframework/src/cs/Logger/AbstractLogEnabled.cs
  
  Index: AbstractLogEnabled.cs
  ===================================================================
  ///
  /// Copyright (C) The Apache Software Foundation. All rights reserved.
  ///
  /// This software is published under the terms of the Apache Software License
  /// version 1.1, a copy of which has been included  with this distribution in
  /// the LICENSE.txt file.
  ///
  using System;
  
  namespace Apache.Avalon.Logger
  {
  	/// <summary>
  	/// The Utility class to allow construction of easy components
  	/// that will perform logging.
  	/// </summary>
  	public abstract class AbstractLogEnabled: ILogEnabled 
  	{
  		// Base ILogger instance
  		private ILogger logger;
  
  		/// <summary>
  		/// Gets the ILogger instance.
  		/// </summary>
  		protected ILogger Logger 
  		{
  			get
  			{
  				return logger;
  			}
  		}
  
  		/// <summary>
  		/// The Method sets the component logger.
  		/// </summary>
  		/// <param name="logger">The ILogger instance.</param>
  		public void EnableLogging(ILogger logger )
  		{
  			this.logger = logger;
  		}
  
  		/// <summary>
  		/// The Helper method to setup other components with same logger.
  		/// </summary>
  		/// <param name="component">The Component to pass logger object to.</param>
  		protected void SetupLogger(object component)
  		{
  			SetupLogger( component, (string)null );
  		}
  
  		/// <summary>
  		/// The Helper method to setup other components with logger.
  		///	The logger has the subcategory of this components logger.
  		/// </summary>
  		/// <param name="component">The Component to pass logger object to.</param>
  		/// <param name="subCategory">The Subcategory to use.</param>
  		protected void SetupLogger(object component, string subCategory )
  		{
  			ILogger logger = Logger;
  
  			if(subCategory != null)
  			{
  				logger = Logger.CreateChildLogger( subCategory );
  			}
  			
  			SetupLogger( component, logger );
  		}
  
  		/// <summary>
  		/// The Helper method to setup other components with logger.
  		/// </summary>
  		/// <param name="component">The Component to pass logger object to.</param>
  		/// <param name="logger">The ILogger instance.</param>
  		protected void SetupLogger(object component, ILogger logger )
  		{
  			if( component is ILogEnabled )
  			{
  				((ILogEnabled) component).EnableLogging( logger );
  			}
  		}
  	}
  }
  
  
  
  1.1                  jakarta-avalon-excalibur/csframework/src/cs/Logger/ConsoleLogger.cs
  
  Index: ConsoleLogger.cs
  ===================================================================
  ///
  /// Copyright (C) The Apache Software Foundation. All rights reserved.
  ///
  /// This software is published under the terms of the Apache Software License
  /// version 1.1, a copy of which has been included  with this distribution in
  /// the LICENSE.txt file.
  ///
  using System;
  
  namespace Apache.Avalon.Logger
  {
  	/// <summary>
  	///	The Logger sending everything to the standard output streams.
  	/// This is mainly for the cases when you have a utility that
  	/// does not have a logger to supply.
  	/// </summary>
  	public class ConsoleLogger: ILogger
  	{
  		/// <summary>
  		///  Typecode for debugging messages. 
  		/// </summary>
  		public const int LEVEL_DEBUG = 0;
  
  		public const string LEVEL_DEBUG_NAME = "DEBUG";
  
  		/// <summary>
  		/// Typecode for informational messages. 
  		/// </summary>
  		public const int LEVEL_INFO = 1;
  
  		public const string LEVEL_INFO_NAME = "INFO";
  
  		/// <summary>
  		/// Typecode for warning messages.
  		/// </summary>
  		public const int LEVEL_WARN = 2;
  
  		public const string LEVEL_WARN_NAME = "WARN";
  
  		/// <summary>
  		/// Typecode for error messages.
  		/// </summary>
  		public const int LEVEL_ERROR = 3;
  
  		public const string LEVEL_ERROR_NAME = "ERROR";
  
  		/// <summary>
  		/// Typecode for fatal error messages.
  		/// </summary>
  		public const int LEVEL_FATAL = 4;
  
  		public const string LEVEL_FATAL_NAME = "FATAL ERROR";
  
  		/// <summary>
  		/// Typecode for disabled log levels.
  		/// </summary>
  		public const int LEVEL_DISABLED = 5;
  
  		private int logLevel;
  
  		/// <summary>
  		/// Creates a new ConsoleLogger with the priority set to DEBUG.
  		/// </summary>
  		public ConsoleLogger(): this(LEVEL_DEBUG)
  		{
  		}
  
  		/// <summary>
  		/// Creates a new ConsoleLogger.
  		/// </summary>
  		/// <param name="logLevel">The Log level typecode.</param>
  		public ConsoleLogger(int logLevel)
  		{
  			this.logLevel = logLevel;
  		}
  
  		/// <summary>
  		/// Logs a debug message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Debug(string message )
  		{
  			Debug(message, null);
  		}
  
  		/// <summary>
  		/// Logs a debug message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Debug(string message, Exception exception)
  		{
  			Log(ConsoleLogger.LEVEL_DEBUG, ConsoleLogger.LEVEL_DEBUG_NAME, message, exception); 
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "debug" will be logged.
  		/// </summary>
  		/// <value>True if "debug" messages will be logged.</value> 
  		public bool IsDebugEnabled
  		{
  			get
  			{
  				return (logLevel <= LEVEL_DEBUG);
  			}
          
  		}
  
  		/// <summary>
  		/// Logs an info message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Info( string message )
  		{
  			Info(message, null);
  		}
  
  		/// <summary>
  		/// Logs an info message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Info( string message, Exception exception)
  		{
  			Log(ConsoleLogger.LEVEL_INFO, ConsoleLogger.LEVEL_INFO_NAME, message, exception); 
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "info" will be logged.
  		/// </summary>
  		/// <value>True if "info" messages will be logged.</value>
  		public bool IsInfoEnabled
  		{
  			get
  			{
  				return (logLevel <= LEVEL_INFO);
  			}
  		}
  
  		/// <summary>
  		/// Logs a warn message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Warn(string message )
  		{
  			Warn(message, null);
  		}
  
  		/// <summary>
  		/// Logs a warn message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Warn(string message, Exception exception)
  		{
  			Log(ConsoleLogger.LEVEL_WARN, ConsoleLogger.LEVEL_WARN_NAME, message, exception); 
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "warn" will be logged.
  		/// </summary>
  		/// <value>True if "warn" messages will be logged.</value>
  		public bool IsWarnEnabled
  		{
  			get
  			{
  				return (logLevel <= LEVEL_WARN);
  			}
  		}
  
  		/// <summary>
  		/// Logs an error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Error(string message )
  		{
  			Error(message, null);
  		}
  
  		/// <summary>
  		/// Logs an error message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Error(string message, Exception exception)
  		{
  			Log(ConsoleLogger.LEVEL_ERROR, ConsoleLogger.LEVEL_ERROR_NAME, message, exception); 
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "error" will be logged.
  		/// </summary>
  		/// <value>True if "error" messages will be logged.</value>
  		public bool IsErrorEnabled
  		{
  			get
  			{
  				return (logLevel <= LEVEL_ERROR);
  			}
  		}
  
  		/// <summary>
  		/// Logs a fatal error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void FatalError(string message )
  		{
  			FatalError(message, null);
  		}
  
  		/// <summary>
  		/// Logs a fatal error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void FatalError(string message, Exception exception)
  		{
  			Log(ConsoleLogger.LEVEL_FATAL, ConsoleLogger.LEVEL_FATAL_NAME, message, exception); 
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "fatalError" will be logged.
  		/// </summary>
  		/// <value>True if "fatalError" messages will be logged.</value>
  		public bool IsFatalErrorEnabled
  		{
  			get 
  			{
  				return (logLevel <= LEVEL_FATAL); 
  			}
  		}
  
  		/// <summary>
  		/// A Common method to log.
  		/// </summary>
  		/// <param name="level">The level of logging</param>
  		/// <param name="levelName">The Level name</param>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		protected void Log(int level, string levelName, string message, Exception exception) 
  		{
  			if(logLevel <= level)
  			{
  				Console.Out.WriteLine(string.Format("[{0}] {1}", levelName, message));
  				
  				if(exception != null)
  				{
  					Console.Out.WriteLine(exception.StackTrace);
  				}
  			}
  		}
  
  		/// <summary>
  		///	Just returns this logger (<c>ConsoleLogger</c> is not hierarchical).
  		/// </summary>
  		/// <param name="name">Ignored</param>
  		/// <returns>This ILogger instance.</returns> 
  		public ILogger CreateChildLogger(string name )
  		{
  			return this;
  		}
  	}
  }
  
  
  1.1                  jakarta-avalon-excalibur/csframework/src/cs/Logger/ILogEnabled.cs
  
  Index: ILogEnabled.cs
  ===================================================================
  ///
  /// Copyright (C) The Apache Software Foundation. All rights reserved.
  ///
  /// This software is published under the terms of the Apache Software License
  /// version 1.1, a copy of which has been included  with this distribution in
  /// the LICENSE.txt file.
  ///
  using System;
  
  namespace Apache.Avalon.Logger
  {
  	/// <summary>
  	/// Components that need to log can implement this interface to
  	/// be provided Loggers.
  	/// </summary>
  	public interface ILogEnabled
  	{
  		/// <summary>
  		/// Provides a component with a logger.
  		/// </summary>
  		/// <param name="logger">The ILogger instance.</param>
  		void EnableLogging(ILogger logger);
  	}
  }
  
  
  
  1.1                  jakarta-avalon-excalibur/csframework/src/cs/Logger/ILogger.cs
  
  Index: ILogger.cs
  ===================================================================
  ///
  /// Copyright (C) The Apache Software Foundation. All rights reserved.
  ///
  /// This software is published under the terms of the Apache Software License
  /// version 1.1, a copy of which has been included  with this distribution in
  /// the LICENSE.txt file.
  ///
  using System;
  
  namespace Apache.Avalon.Logger
  {
  	/// <summary>
  	/// This is a facade for the different logging subsystems.
  	/// It offers a simplified interface that follows IOC patterns
  	/// and a simplified priority/level/severity abstraction. 
  	/// </summary>
  	public interface ILogger
  	{
  		/// <summary>
  		/// Logs a debug message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		void Debug( string message );
  
  		/// <summary>
  		/// Logs a debug message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		void Debug( string message, Exception exception);
  
  		/// <summary>
  		/// Determines if messages of priority "debug" will be logged.
  		/// </summary>
  		/// <value>True if "debug" messages will be logged.</value> 
  		bool IsDebugEnabled 
  		{
  			get;
  		}
  
  		/// <summary>
  		/// Logs an info message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		void Info( string message );
  
  		/// <summary>
  		/// Logs an info message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		void Info( string message, Exception exception);
  
  		/// <summary>
  		/// Determines if messages of priority "info" will be logged.
  		/// </summary>
  		/// <value>True if "info" messages will be logged.</value>
  		bool IsInfoEnabled
  		{
  			get;
  		}
  
  		/// <summary>
  		/// Logs a warn message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		void Warn( string message );
  
  		/// <summary>
  		/// Logs a warn message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		void Warn( string message, Exception exception);
  
  		/// <summary>
  		/// Determines if messages of priority "warn" will be logged.
  		/// </summary>
  		/// <value>True if "warn" messages will be logged.</value>
  		bool IsWarnEnabled
  		{
  			get;
  		}
  
  		/// <summary>
  		/// Logs an error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		void Error( string message );
  
  		/// <summary>
  		/// Logs an error message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		void Error( string message, Exception exception);
  
  		/// <summary>
  		/// Determines if messages of priority "error" will be logged.
  		/// </summary>
  		/// <value>True if "error" messages will be logged.</value>
  		bool IsErrorEnabled
  		{
  			get;
  		}
  
  		/// <summary>
  		/// Logs a fatal error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		void FatalError( string message );
  
  		/// <summary>
  		/// Logs a fatal error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		void FatalError( string message, Exception exception);
  
  		/// <summary>
  		/// Determines if messages of priority "fatalError" will be logged.
  		/// </summary>
  		/// <value>True if "fatalError" messages will be logged.</value>
  		bool IsFatalErrorEnabled
  		{
  			get;
  		}
  		
  		/// <summary>
  		/// Create a new child logger.
  		/// The name of the child logger is [current-loggers-name].[passed-in-name]
  		/// </summary>
  		/// <param name="name">The Subname of this logger.</param>
  		/// <returns>The New ILogger instance.</returns> 
  		/// <exception cref="System.ArgumentException">If the name has an empty element name.</exception>
  		ILogger CreateChildLogger( string name );
  	}		
  }
  
  
  
  1.1                  jakarta-avalon-excalibur/csframework/src/cs/Logger/Log4netLogger.cs
  
  Index: Log4netLogger.cs
  ===================================================================
  ///
  /// Copyright (C) The Apache Software Foundation. All rights reserved.
  ///
  /// This software is published under the terms of the Apache Software License
  /// version 1.1, a copy of which has been included  with this distribution in
  /// the LICENSE.txt file.
  ///
  using System;
  using log4net;
  
  namespace Apache.Avalon.Logger
  {
  	/// <summary>
  	/// The default log4net wrapper class for Logger.
  	/// </summary>
  	public class Log4netLogger: ILogger
  	{
      
  		//underlying implementation
  		private Category logger;
  
  		/// <summary>
  		/// Creates a logger that delegates to specified category.
  		/// </summary>
  		/// <param name="logImpl">The Category to delegate to.</param>
  		public Log4netLogger(Category logImpl)
  		{
  			logger = logImpl;
  		}
  
  		/// <summary>
  		/// Logs a debug message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Debug(string message )
  		{
  			logger.Debug(message);
  		}
  
  		/// <summary>
  		/// Logs a debug message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Debug(string message, Exception exception)
  		{
  			logger.Debug( message, exception );
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "debug" will be logged.
  		/// </summary>
  		/// <value>True if "debug" messages will be logged.</value> 
  		public bool IsDebugEnabled
  		{
  			get
  			{
  				return logger.IsDebugEnabled;
  			}
          
  		}
  
  		/// <summary>
  		/// Logs an info message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Info( string message )
  		{
  			logger.Info(message);
  		}
  
  		/// <summary>
  		/// Logs an info message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Info( string message, Exception exception)
  		{
  			logger.Info( message, exception);
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "info" will be logged.
  		/// </summary>
  		/// <value>True if "info" messages will be logged.</value>
  		public bool IsInfoEnabled
  		{
  			get
  			{
  				return logger.IsInfoEnabled;
  			}
  		}
  
  		/// <summary>
  		/// Logs a warn message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Warn(string message )
  		{
  			logger.Warn( message );
  		}
  
  		/// <summary>
  		/// Logs a warn message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Warn(string message, Exception exception)
  		{
  			logger.Warn( message, exception );
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "warn" will be logged.
  		/// </summary>
  		/// <value>True if "warn" messages will be logged.</value>
  		public bool IsWarnEnabled
  		{
  			get
  			{
  				return logger.IsWarnEnabled;
  			}
  		}
  
  		/// <summary>
  		/// Logs an error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void Error(string message )
  		{
  			logger.Error( message );
  		}
  
  		/// <summary>
  		/// Logs an error message. 
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void Error(string message, Exception exception)
  		{
  			logger.Error( message, exception );
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "error" will be logged.
  		/// </summary>
  		/// <value>True if "error" messages will be logged.</value>
  		public bool IsErrorEnabled
  		{
  			get
  			{
  				return logger.IsErrorEnabled;
  			}
  		}
  
  		/// <summary>
  		/// Logs a fatal error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		public void FatalError(string message )
  		{
  			logger.Fatal( message );
  		}
  
  		/// <summary>
  		/// Logs a fatal error message.
  		/// </summary>
  		/// <param name="message">The Message</param>
  		/// <param name="exception">The Exception</param>
  		public void FatalError(string message, Exception exception)
  		{
  			logger.Fatal( message, exception);
  		}
  
  		/// <summary>
  		/// Determines if messages of priority "fatalError" will be logged.
  		/// </summary>
  		/// <value>True if "fatalError" messages will be logged.</value>
  		public bool IsFatalErrorEnabled
  		{
  			get 
  			{
  				return logger.IsFatalEnabled; 
  			}
  		}
  
  		/// <summary>
  		/// Create a new child logger.
  		/// The name of the child logger is [current-loggers-name].[passed-in-name]
  		/// </summary>
  		/// <param name="name">The Subname of this logger.</param>
  		/// <returns>The New ILogger instance.</returns> 
  		/// <exception cref="System.ArgumentException">If the name has an empty element name.</exception>
  		public ILogger CreateChildLogger(string name )
  		{
  			return new Log4netLogger( Category.GetInstance( logger.Name + "." + name ) );
  		}
  	}
  }
  
  
  1.1                  jakarta-avalon-excalibur/csframework/src/cs/Logger/NullLogger.cs
  
  Index: NullLogger.cs
  ===================================================================
  ///
  /// Copyright (C) The Apache Software Foundation. All rights reserved.
  ///
  /// This software is published under the terms of the Apache Software License
  /// version 1.1, a copy of which has been included  with this distribution in
  /// the LICENSE.txt file.
  ///
  using System;
  
  namespace Apache.Avalon.Logger
  {
  	/// <summary>
  	///	The Null Logger class.  This is useful for implementations where you need
  	/// to provide a logger to a utility class, but do not want any output from it.
  	/// It also helps when you have a utility that does not have a logger to supply.
  	/// </summary>
  	public class NullLogger: ILogger
  	{
      
  		/// <summary>
  		/// Creates a new <c>NullLogger</c>.
  		/// </summary>
  		public NullLogger()
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		public void Debug(string message )
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		/// <param name="exception">Ignored</param>
  		public void Debug(string message, Exception exception)
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <value>false</value> 
  		public bool IsDebugEnabled
  		{
  			get
  			{
  				return false;
  			}
          
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		public void Info( string message )
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		/// <param name="exception">Ignored</param>
  		public void Info( string message, Exception exception)
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <value>false</value> 
  		public bool IsInfoEnabled
  		{
  			get
  			{
  				return false;
  			}
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		public void Warn(string message )
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		/// <param name="exception">Ignored</param>
  		public void Warn(string message, Exception exception)
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <value>false</value> 
  		public bool IsWarnEnabled
  		{
  			get
  			{
  				return false;
  			}
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		public void Error(string message )
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		/// <param name="exception">Ignored</param>
  		public void Error(string message, Exception exception)
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <value>false</value> 
  		public bool IsErrorEnabled
  		{
  			get
  			{
  				return false;
  			}
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		public void FatalError(string message )
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <param name="message">Ignored</param>
  		/// <param name="exception">Ignored</param>
  		public void FatalError(string message, Exception exception)
  		{
  		}
  
  		/// <summary>
  		/// No-op.
  		/// </summary>
  		/// <value>false</value> 
  		public bool IsFatalErrorEnabled
  		{
  			get 
  			{
  				return false; 
  			}
  		}
  
  		/// <summary>
  		/// Returns this <c>NullLogger</c>.
  		/// </summary>
  		/// <param name="name">Ignored</param>
  		/// <returns>This ILogger instance.</returns> 
  		public ILogger CreateChildLogger(string name )
  		{
  			return this;
  		}
  	}
  }
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>