#region Copyright & License // // Copyright 2001-2005 The Apache Software Foundation // // Licensed 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. // #endregion using System; using log4net.Core; namespace log4net.Repository.Hierarchy { /// /// Default implementation of /// /// /// /// This default implementation of the /// interface is used to create the default subclass /// of the object. /// /// /// Nicko Cadell /// Gert Driesen internal class DefaultLoggerFactory : ILoggerFactory { #region Internal Instance Constructors /// /// Default constructor /// /// /// /// Initializes a new instance of the class. /// /// internal DefaultLoggerFactory() { } #endregion Internal Instance Constructors #region Implementation of ILoggerFactory /// /// Create a new instance /// /// The name of the . /// The instance for the specified name. /// /// /// Create a new instance with the /// specified name. /// /// /// Called by the to create /// new named instances. /// /// /// If the is null then the root logger /// must be returned. /// /// public Logger CreateLogger(string name) { if (name == null) { return new RootLogger(Level.Debug); } return new LoggerImpl(name); } #endregion /// /// Default internal subclass of /// /// /// /// This subclass has no additional behavior over the /// class but does allow instances /// to be created. /// /// internal sealed class LoggerImpl : Logger { /// /// Construct a new Logger /// /// the name of the logger /// /// /// Initializes a new instance of the class /// with the specified name. /// /// internal LoggerImpl(string name) : base(name) { } } } }