Click here to Skip to main content
Click here to Skip to main content
Articles » Languages » C# » General » Downloads
 
Add your own
alternative version

log4Net and SQLite

, 14 Jun 2012
This article explains how to work with log4Net and SQLite.
log4net.zip
log4NetSQlite.zip
log4NetSQlite
log4Net
log4NetExample.suo
App_Data
log4net.db
bin
log4net.dll
log4net.pdb
log4NetExample.dll
log4NetExample.pdb
System.Data.SQLite.dll
System.Data.SQLite.pdb
Global.asax
log4NetExample.csproj.user
obj
Debug
DesignTimeResolveAssemblyReferencesInput.cache
log4NetExample.dll
log4NetExample.pdb
ResolveAssemblyReference.cache
TempPE
Properties
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>log4net</name>
    </assembly>
    <members>
        <member name="T:log4net.Util.OnlyOnceErrorHandler">
            <summary>
            Implements log4net's default error handling policy which consists 
            of emitting a message for the first error in an appender and 
            ignoring all subsequent errors.
            </summary>
            <remarks>
            <para>
            The error message is processed using the LogLog sub-system.
            </para>
            <para>
            This policy aims at protecting an otherwise working application
            from being flooded with error messages when logging fails.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Ron Grabowski</author>
        </member>
        <member name="T:log4net.Core.IErrorHandler">
            <summary>
            Appenders may delegate their error handling to an <see cref="T:log4net.Core.IErrorHandler"/>.
            </summary>
            <remarks>
            <para>
            Error handling is a particularly tedious to get right because by
            definition errors are hard to predict and to reproduce. 
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
            <summary>
            Handles the error and information about the error condition is passed as 
            a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
            <param name="errorCode">The error code associated with the error.</param>
            <remarks>
            <para>
            Handles the error and information about the error condition is passed as 
            a parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception)">
            <summary>
            Prints the error message passed as a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
            <remarks>
            <para>
            See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IErrorHandler.Error(System.String)">
            <summary>
            Prints the error message passed as a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <remarks>
            <para>
            See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor">
            <summary>
            Default Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="prefix">The prefix to use for each message.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class
            with the specified prefix.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Reset">
            <summary>
            Reset the error handler back to its initial disabled state.
            </summary>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
            <summary>
            Log an Error
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
            <param name="errorCode">The internal error code.</param>
            <remarks>
            <para>
            Sends the error information to <see cref="T:log4net.Util.LogLog"/>'s Error method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception)">
            <summary>
            Log an Error
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
            <remarks>
            <para>
            Prints the message and the stack trace of the exception on the standard
            error output stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String)">
            <summary>
            Log an error
            </summary>
            <param name="message">The error message.</param>
            <remarks>
            <para>
            Print a the error message passed as parameter on the standard
            error output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_enabledDate">
            <summary>
            The date the error was recorded.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_firstTime">
            <summary>
            Flag to indicate if it is the first error
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_message">
            <summary>
            The message recorded during the first error.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_exception">
            <summary>
            The exception recorded during the first error.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_errorCode">
            <summary>
            The error code recorded during the first error.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_prefix">
            <summary>
            String to prefix each message with
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.declaringType">
            <summary>
            The fully qualified type of the OnlyOnceErrorHandler class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.IsEnabled">
            <summary>
            Is error logging enabled
            </summary>
            <remarks>
            <para>
            Is error logging enabled. Logging is only enabled for the
            first error delivered to the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.EnabledDate">
            <summary>
            The date the first error that trigged this error handler occured.
            </summary>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.ErrorMessage">
            <summary>
            The message from the first error that trigged this error handler.
            </summary>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.Exception">
            <summary>
            The exception from the first error that trigged this error handler.
            </summary>
            <remarks>
            May be <see langword="null" />.
            </remarks>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.ErrorCode">
            <summary>
            The error code from the first error that trigged this error handler.
            </summary>
            <remarks>
            Defaults to <see cref="F:log4net.Core.ErrorCode.GenericFailure"/>
            </remarks>
        </member>
        <member name="T:log4net.Util.NullSecurityContext">
            <summary>
            A SecurityContext used when a SecurityContext is not required
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Util.NullSecurityContext"/> is a no-op implementation of the
            <see cref="T:log4net.Core.SecurityContext"/> base class. It is used where a <see cref="T:log4net.Core.SecurityContext"/>
            is required but one has not been provided.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Core.SecurityContext">
            <summary>
            A SecurityContext used by log4net when interacting with protected resources
            </summary>
            <remarks>
            <para>
            A SecurityContext used by log4net when interacting with protected resources
            for example with operating system services. This can be used to impersonate
            a principal that has been granted privileges on the system resources.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.SecurityContext.Impersonate(System.Object)">
            <summary>
            Impersonate this SecurityContext
            </summary>
            <param name="state">State supplied by the caller</param>
            <returns>An <see cref="T:System.IDisposable"/> instance that will
            revoke the impersonation of this SecurityContext, or <c>null</c></returns>
            <remarks>
            <para>
            Impersonate this security context. Further calls on the current
            thread should now be made in the security context provided
            by this object. When the <see cref="T:System.IDisposable"/> result 
            <see cref="M:System.IDisposable.Dispose"/> method is called the security
            context of the thread should be reverted to the state it was in
            before <see cref="M:log4net.Core.SecurityContext.Impersonate(System.Object)"/> was called.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.NullSecurityContext.Instance">
            <summary>
            Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
            </summary>
            <remarks>
            <para>
            Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullSecurityContext.#ctor">
            <summary>
            Private constructor
            </summary>
            <remarks>
            <para>
            Private constructor for singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullSecurityContext.Impersonate(System.Object)">
            <summary>
            Impersonate this SecurityContext
            </summary>
            <param name="state">State supplied by the caller</param>
            <returns><c>null</c></returns>
            <remarks>
            <para>
            No impersonation is done and <c>null</c> is always returned.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.NullDictionaryEnumerator">
            <summary>
            An always empty <see cref="T:System.Collections.IDictionaryEnumerator"/>.
            </summary>
            <remarks>
            <para>
            A singleton implementation of the <see cref="T:System.Collections.IDictionaryEnumerator"/> over a collection
            that is empty and not modifiable.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.NullDictionaryEnumerator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to enforce the singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullDictionaryEnumerator.MoveNext">
            <summary>
            Test if the enumerator can advance, if so advance.
            </summary>
            <returns><c>false</c> as the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> cannot advance.</returns>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullDictionaryEnumerator.MoveNext"/>
            will always return <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullDictionaryEnumerator.Reset">
            <summary>
            Resets the enumerator back to the start.
            </summary>
            <remarks>
            <para>
            As the enumerator is over an empty collection <see cref="M:log4net.Util.NullDictionaryEnumerator.Reset"/> does nothing.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.NullDictionaryEnumerator.s_instance">
            <summary>
            The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
            </summary>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Instance">
            <summary>
            Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.</returns>
            <remarks>
            <para>
            Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Current">
            <summary>
            Gets the current object from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Key">
            <summary>
            Gets the current key from the enumerator.
            </summary>
            <remarks>
            Throws an exception because the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>
            never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Key"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Value">
            <summary>
            Gets the current value from the enumerator.
            </summary>
            <value>The current value from the enumerator.</value>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Value"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Entry">
            <summary>
            Gets the current entry from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current entry.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Entry"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="T:log4net.Layout.Pattern.RelativeTimePatternConverter">
            <summary>
            Converter to output the relative time of the event
            </summary>
            <remarks>
            <para>
            Converter to output the time of the event relative to the start of the program.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Layout.Pattern.PatternLayoutConverter">
            <summary>
            Abstract class that provides the formatting functionality that 
            derived classes need.
            </summary>
            <remarks>
            Conversion specifiers in a conversion patterns are parsed to
            individual PatternConverters. Each of which is responsible for
            converting a logging event in a converter specific manner.
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Util.PatternConverter">
            <summary>
            Abstract class that provides the formatting functionality that 
            derived classes need.
            </summary>
            <remarks>
            <para>
            Conversion specifiers in a conversion patterns are parsed to
            individual PatternConverters. Each of which is responsible for
            converting a logging event in a converter specific manner.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Util.PatternConverter.c_renderBufferSize">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Util.PatternConverter.c_renderBufferMaxCapacity">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="M:log4net.Util.PatternConverter.#ctor">
            <summary>
            Protected constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PatternConverter"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Evaluate this pattern converter and write the output to a writer.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">The state object on which the pattern converter should be executed.</param>
            <remarks>
            <para>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the appropriate way.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.SetNext(log4net.Util.PatternConverter)">
            <summary>
            Set the next pattern converter in the chains
            </summary>
            <param name="patternConverter">the pattern converter that should follow this converter in the chain</param>
            <returns>the next converter</returns>
            <remarks>
            <para>
            The PatternConverter can merge with its neighbor during this method (or a sub class).
            Therefore the return value may or may not be the value of the argument passed in.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.Format(System.IO.TextWriter,System.Object)">
            <summary>
            Write the pattern converter to the writer with appropriate formatting
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">The state object on which the pattern converter should be executed.</param>
            <remarks>
            <para>
            This method calls <see cref="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)"/> to allow the subclass to perform
            appropriate conversion of the pattern converter. If formatting options have
            been specified via the <see cref="P:log4net.Util.PatternConverter.FormattingInfo"/> then this method will
            apply those formattings before writing the output.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.SpacePad(System.IO.TextWriter,System.Int32)">
            <summary>
            Fast space padding method.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> to which the spaces will be appended.</param>
            <param name="length">The number of spaces to be padded.</param>
            <remarks>
            <para>
            Fast space padding method.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternConverter.m_option">
            <summary>
            The option string to the converter
            </summary>
        </member>
        <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionary)">
            <summary>
            Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
            <param name="value">the value to write to the writer</param>
            <remarks>
            <para>
            Writes the <see cref="T:System.Collections.IDictionary"/> to a writer in the form:
            </para>
            <code>
            {key1=value1, key2=value2, key3=value3}
            </code>
            <para>
            If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            is not null then it is used to render the key and value to text, otherwise
            the object's ToString method is called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionaryEnumerator)">
            <summary>
            Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
            <param name="value">the value to write to the writer</param>
            <remarks>
            <para>
            Writes the <see cref="T:System.Collections.IDictionaryEnumerator"/> to a writer in the form:
            </para>
            <code>
            {key1=value1, key2=value2, key3=value3}
            </code>
            <para>
            If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            is not null then it is used to render the key and value to text, otherwise
            the object's ToString method is called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.WriteObject(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Object)">
            <summary>
            Write an object to a <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
            <param name="value">the value to write to the writer</param>
            <remarks>
            <para>
            Writes the Object to a writer. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            is not null then it is used to render the object to text, otherwise
            the object's ToString method is called.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.Next">
            <summary>
            Get the next pattern converter in the chain
            </summary>
            <value>
            the next pattern converter in the chain
            </value>
            <remarks>
            <para>
            Get the next pattern converter in the chain
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.FormattingInfo">
            <summary>
            Gets or sets the formatting info for this converter
            </summary>
            <value>
            The formatting info for this converter
            </value>
            <remarks>
            <para>
            Gets or sets the formatting info for this converter
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.Option">
            <summary>
            Gets or sets the option value for this converter
            </summary>
            <summary>
            The option for this converter
            </summary>
            <remarks>
            <para>
            Gets or sets the option value for this converter
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.Properties">
            <summary>
            
            </summary>
        </member>
        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Layout.Pattern.PatternLayoutConverter"/> class.
            </summary>
        </member>
        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
        </member>
        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">The state object on which the pattern converter should be executed.</param>
        </member>
        <member name="F:log4net.Layout.Pattern.PatternLayoutConverter.m_ignoresException">
            <summary>
            Flag indicating if this converter handles exceptions
            </summary>
            <remarks>
            <c>false</c> if this converter handles exceptions
            </remarks>
        </member>
        <member name="P:log4net.Layout.Pattern.PatternLayoutConverter.IgnoresException">
            <summary>
            Flag indicating if this converter handles the logging event exception
            </summary>
            <value><c>false</c> if this converter handles the logging event exception</value>
            <remarks>
            <para>
            If this converter handles the exception object contained within
            <see cref="T:log4net.Core.LoggingEvent"/>, then this property should be set to
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the property should be set to <c>true</c>.
            </para>
            <para>
            Set this value to override a this default setting. The default
            value is <c>true</c>, this converter does not handle the exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the relative time to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes out the relative time of the event in milliseconds.
            That is the number of milliseconds between the event <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>
            and the <see cref="P:log4net.Core.LoggingEvent.StartTime"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.TimeDifferenceInMillis(System.DateTime,System.DateTime)">
            <summary>
            Helper method to get the time difference between two DateTime objects
            </summary>
            <param name="start">start time (in the current local time zone)</param>
            <param name="end">end time (in the current local time zone)</param>
            <returns>the time difference in milliseconds</returns>
        </member>
        <member name="T:log4net.Core.ILogger">
            <summary>
            Interface that all loggers implement
            </summary>
            <remarks>
            <para>
            This interface supports logging events and testing if a level
            is enabled for logging.
            </para>
            <para>
            These methods will not throw exceptions. Note to implementor, ensure
            that the implementation of these methods cannot allow an exception
            to be thrown to the caller.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.ILogger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            This generic form is intended to be used by wrappers.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">the exception to log, including its stack trace. Pass <c>null</c> to not log an exception.</param>
            <remarks>
            <para>
            Generates a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/> and <paramref name="exception"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.ILogger.Log(log4net.Core.LoggingEvent)">
            <summary>
            This is the most generic printing method that is intended to be used 
            by wrappers.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            <para>
            Logs the specified logging event through this logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.ILogger.IsEnabledFor(log4net.Core.Level)">
            <summary>
            Checks if this logger is enabled for a given <see cref="T:log4net.Core.Level"/> passed as parameter.
            </summary>
            <param name="level">The level to check.</param>
            <returns>
            <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
            </returns>
            <remarks>
            <para>
            Test if this logger is going to log events of the specified <paramref name="level"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.ILogger.Name">
            <summary>
            Gets the name of the logger.
            </summary>
            <value>
            The name of the logger.
            </value>
            <remarks>
            <para>
            The name of this logger
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.ILogger.Repository">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
            </value>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.AppenderCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Appender.IAppender"/> objects.
            </summary>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ReadOnly(log4net.Appender.AppenderCollection)">
            <summary>
            Creates a read-only wrapper for a <c>AppenderCollection</c> instance.
            </summary>
            <param name="list">list to create a readonly wrapper arround</param>
            <returns>
            An <c>AppenderCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="F:log4net.Appender.AppenderCollection.EmptyCollection">
            <summary>
            An empty readonly static AppenderCollection
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>AppenderCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <c>AppenderCollection</c>.
            </summary>
            <param name="c">The <c>AppenderCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.IAppender[])">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Appender.IAppender"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="tag"></param>
            <exclude/>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[])">
            <summary>
            Copies the entire <c>AppenderCollection</c> to a one-dimensional
            <see cref="T:log4net.Appender.IAppender"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[],System.Int32)">
            <summary>
            Copies the entire <c>AppenderCollection</c> to a one-dimensional
            <see cref="T:log4net.Appender.IAppender"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Add(log4net.Appender.IAppender)">
            <summary>
            Adds a <see cref="T:log4net.Appender.IAppender"/> to the end of the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Clear">
            <summary>
            Removes all elements from the <c>AppenderCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
            <returns>A new <see cref="T:log4net.Appender.AppenderCollection"/> with a shallow copy of the collection data.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Contains(log4net.Appender.IAppender)">
            <summary>
            Determines whether a given <see cref="T:log4net.Appender.IAppender"/> is in the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>AppenderCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IndexOf(log4net.Appender.IAppender)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Appender.IAppender"/>
            in the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to locate in the <c>AppenderCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>AppenderCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Insert(System.Int32,log4net.Appender.IAppender)">
            <summary>
            Inserts an element into the <c>AppenderCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Remove(log4net.Appender.IAppender)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Appender.IAppender"/> from the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to remove from the <c>AppenderCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Appender.IAppender"/> was not found in the <c>AppenderCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>AppenderCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>AppenderCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Appender.AppenderCollection.Enumerator"/> for the entire <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.AppenderCollection)">
            <summary>
            Adds the elements of another <c>AppenderCollection</c> to the current <c>AppenderCollection</c>.
            </summary>
            <param name="x">The <c>AppenderCollection</c> whose elements should be added to the end of the current <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.IAppender[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> array to the current <c>AppenderCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Appender.IAppender"/> array whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> collection to the current <c>AppenderCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ToArray">
            <summary>
            Return the collection elements as an array
            </summary>
            <returns>the array</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>AppenderCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Appender.IAppender"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<para><paramref name="index"/> is less than zero</para>
            	<para>-or-</para>
            	<para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value>true if the collection is read-only; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>AppenderCollection</c> can contain.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
            <exclude/>
        </member>
        <member name="F:log4net.Appender.AppenderCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.#ctor(log4net.Appender.AppenderCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.ReadOnlyAppenderCollection">
            <exclude/>
        </member>
        <member name="T:log4net.Util.Transform">
            <summary>
            Utility class for transforming strings.
            </summary>
            <remarks>
            <para>
            Utility class for transforming strings.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.Transform.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.Transform"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.Transform.WriteEscapedXmlString(System.Xml.XmlWriter,System.String,System.String)">
            <summary>
            Write a string to an <see cref="T:System.Xml.XmlWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="textData">the string to write</param>
            <param name="invalidCharReplacement">The string to replace non XML compliant chars with</param>
            <remarks>
            <para>
            The test is escaped either using XML escape entities
            or using CDATA sections.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.Transform.MaskXmlInvalidCharacters(System.String,System.String)">
            <summary>
            Replace invalid XML characters in text string
            </summary>
            <param name="textData">the XML text input string</param>
            <param name="mask">the string to use in place of invalid characters</param>
            <returns>A string that does not contain invalid XML characters.</returns>
            <remarks>
            <para>
            Certain Unicode code points are not allowed in the XML InfoSet, for
            details see: <a href="http://www.w3.org/TR/REC-xml/#charsets">http://www.w3.org/TR/REC-xml/#charsets</a>.
            </para>
            <para>
            This method replaces any illegal characters in the input string
            with the mask string specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.Transform.CountSubstrings(System.String,System.String)">
            <summary>
            Count the number of times that the substring occurs in the text
            </summary>
            <param name="text">the text to search</param>
            <param name="substring">the substring to find</param>
            <returns>the number of times the substring occurs in the text</returns>
            <remarks>
            <para>
            The substring is assumed to be non repeating within itself.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.Transform.INVALIDCHARS">
            <summary>
            Characters illegal in XML 1.0
            </summary>
        </member>
        <member name="T:log4net.Util.ReusableStringWriter">
            <summary>
            A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused
            </summary>
            <remarks>
            <para>
            A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused.
            This uses a single buffer for string operations.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ReusableStringWriter.#ctor(System.IFormatProvider)">
            <summary>
            Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
            </summary>
            <param name="formatProvider">the format provider to use</param>
            <remarks>
            <para>
            Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReusableStringWriter.Dispose(System.Boolean)">
            <summary>
            Override Dispose to prevent closing of writer
            </summary>
            <param name="disposing">flag</param>
            <remarks>
            <para>
            Override Dispose to prevent closing of writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)">
            <summary>
            Reset this string writer so that it can be reused.
            </summary>
            <param name="maxCapacity">the maximum buffer capacity before it is trimmed</param>
            <param name="defaultSize">the default size to make the buffer</param>
            <remarks>
            <para>
            Reset this string writer so that it can be reused.
            The internal buffers are cleared and reset.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.UserNamePatternConverter">
            <summary>
            Write the current threads username to the output
            </summary>
            <remarks>
            <para>
            Write the current threads username to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.UserNamePatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current threads username to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Write the current threads username to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.UserNamePatternConverter.declaringType">
            <summary>
            The fully qualified type of the UserNamePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.FormattingInfo">
            <summary>
            Contain the information obtained when parsing formatting modifiers 
            in conversion modifiers.
            </summary>
            <remarks>
            <para>
            Holds the formatting information extracted from the format string by
            the <see cref="T:log4net.Util.PatternParser"/>. This is used by the <see cref="T:log4net.Util.PatternConverter"/>
            objects when rendering the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.FormattingInfo.#ctor">
            <summary>
            Defaut Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.FormattingInfo.#ctor(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class
            with the specified parameters.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.FormattingInfo.Min">
            <summary>
            Gets or sets the minimum value.
            </summary>
            <value>
            The minimum value.
            </value>
            <remarks>
            <para>
            Gets or sets the minimum value.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.FormattingInfo.Max">
            <summary>
            Gets or sets the maximum value.
            </summary>
            <value>
            The maximum value.
            </value>
            <remarks>
            <para>
            Gets or sets the maximum value.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.FormattingInfo.LeftAlign">
            <summary>
            Gets or sets a flag indicating whether left align is enabled
            or not.
            </summary>
            <value>
            A flag indicating whether left align is enabled or not.
            </value>
            <remarks>
            <para>
            Gets or sets a flag indicating whether left align is enabled or not.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.CyclicBuffer">
            <summary>
            A fixed size rolling buffer of logging events.
            </summary>
            <remarks>
            <para>
            An array backed fixed size leaky bucket.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="maxSize">The maximum number of logging events in the buffer.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.CyclicBuffer"/> class with 
            the specified maximum number of buffered logging events.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="maxSize"/> argument is not a positive integer.</exception>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.Append(log4net.Core.LoggingEvent)">
            <summary>
            Appends a <paramref name="loggingEvent"/> to the buffer.
            </summary>
            <param name="loggingEvent">The event to append to the buffer.</param>
            <returns>The event discarded from the buffer, if the buffer is full, otherwise <c>null</c>.</returns>
            <remarks>
            <para>
            Append an event to the buffer. If the buffer still contains free space then
            <c>null</c> is returned. If the buffer is full then an event will be dropped
            to make space for the new event, the event dropped is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.PopOldest">
            <summary>
            Get and remove the oldest event in the buffer.
            </summary>
            <returns>The oldest logging event in the buffer</returns>
            <remarks>
            <para>
            Gets the oldest (first) logging event in the buffer and removes it 
            from the buffer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.PopAll">
            <summary>
            Pops all the logging events from the buffer into an array.
            </summary>
            <returns>An array of all the logging events in the buffer.</returns>
            <remarks>
            <para>
            Get all the events in the buffer and clear the buffer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.Clear">
            <summary>
            Clear the buffer
            </summary>
            <remarks>
            <para>
            Clear the buffer of all events. The events in the buffer are lost.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CyclicBuffer.Item(System.Int32)">
            <summary>
            Gets the <paramref name="i"/>th oldest event currently in the buffer.
            </summary>
            <value>The <paramref name="i"/>th oldest event currently in the buffer.</value>
            <remarks>
            <para>
            If <paramref name="i"/> is outside the range 0 to the number of events
            currently in the buffer, then <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CyclicBuffer.MaxSize">
            <summary>
            Gets the maximum size of the buffer.
            </summary>
            <value>The maximum size of the buffer.</value>
            <remarks>
            <para>
            Gets the maximum size of the buffer
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CyclicBuffer.Length">
            <summary>
            Gets the number of logging events in the buffer.
            </summary>
            <value>The number of logging events in the buffer.</value>
            <remarks>
            <para>
            This number is guaranteed to be in the range 0 to <see cref="P:log4net.Util.CyclicBuffer.MaxSize"/>
            (inclusive).
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.Logger">
            <summary>
            Implementation of <see cref="T:log4net.Core.ILogger"/> used by <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>
            </summary>
            <remarks>
            <para>
            Internal class used to provide implementation of <see cref="T:log4net.Core.ILogger"/>
            interface. Applications should use <see cref="T:log4net.LogManager"/> to get
            logger instances.
            </para>
            <para>
            This is one of the central classes in the log4net implementation. One of the
            distinctive features of log4net are hierarchical loggers and their
            evaluation. The <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> organizes the <see cref="T:log4net.Repository.Hierarchy.Logger"/>
            instances into a rooted tree hierarchy.
            </para>
            <para>
            The <see cref="T:log4net.Repository.Hierarchy.Logger"/> class is abstract. Only concrete subclasses of
            <see cref="T:log4net.Repository.Hierarchy.Logger"/> can be created. The <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
            is used to create instances of this type for the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Aspi Havewala</author>
            <author>Douglas de la Torre</author>
        </member>
        <member name="T:log4net.Core.IAppenderAttachable">
            <summary>
            Interface for attaching appenders to objects.
            </summary>
            <remarks>
            <para>
            Interface for attaching, removing and retrieving appenders.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Attaches an appender.
            </summary>
            <param name="appender">The appender to add.</param>
            <remarks>
            <para>
            Add the specified appender. The implementation may
            choose to allow or deny duplicate appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.GetAppender(System.String)">
            <summary>
            Gets an attached appender with the specified name.
            </summary>
            <param name="name">The name of the appender to get.</param>
            <returns>
            The appender with the name specified, or <c>null</c> if no appender with the
            specified name is found.
            </returns>
            <remarks>
            <para>
            Returns an attached appender with the <paramref name="name"/> specified.
            If no appender with the specified name is found <c>null</c> will be
            returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.RemoveAllAppenders">
            <summary>
            Removes all attached appenders.
            </summary>
            <remarks>
            <para>
            Removes and closes all attached appenders
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of attached appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.IAppenderAttachable.Appenders">
            <summary>
            Gets all attached appenders.
            </summary>
            <value>
            A collection of attached appenders.
            </value>
            <remarks>
            <para>
            Gets a collection of attached appenders.
            If there are no attached appenders the
            implementation should return an empty 
            collection rather than <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.#ctor(System.String)">
            <summary>
            This constructor created a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance and
            sets its name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <remarks>
            <para>
            This constructor is protected and designed to be used by
            a subclass that is not abstract.
            </para>
            <para>
            Loggers are constructed by <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> 
            objects. See <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> for the default
            logger creator.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Add <paramref name="newAppender"/> to the list of appenders of this
            Logger instance.
            </summary>
            <param name="newAppender">An appender to add to this logger</param>
            <remarks>
            <para>
            Add <paramref name="newAppender"/> to the list of appenders of this
            Logger instance.
            </para>
            <para>
            If <paramref name="newAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.GetAppender(System.String)">
            <summary>
            Look for the appender named as <c>name</c>
            </summary>
            <param name="name">The name of the appender to lookup</param>
            <returns>The appender with the name specified, or <c>null</c>.</returns>
            <remarks>
            <para>
            Returns the named appender, or null if the appender is not found.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAllAppenders">
            <summary>
            Remove all previously added appenders from this Logger instance.
            </summary>
            <remarks>
            <para>
            Remove all previously added appenders from this Logger instance.
            </para>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Remove the appender passed as parameter form the list of appenders.
            </summary>
            <param name="appender">The appender to remove</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            Remove the appender passed as parameter form the list of appenders.
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(System.String)">
            <summary>
            Remove the appender passed as parameter form the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            Remove the named appender passed as parameter form the list of appenders.
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            This generic form is intended to be used by wrappers.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Generate a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/> and <paramref name="exception"/>.
            </para>
            <para>
            This method must not throw any exception to the caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.LoggingEvent)">
            <summary>
            This is the most generic printing method that is intended to be used 
            by wrappers.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            <para>
            Logs the specified logging event through this logger.
            </para>
            <para>
            This method must not throw any exception to the caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.IsEnabledFor(log4net.Core.Level)">
            <summary>
            Checks if this logger is enabled for a given <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> passed as parameter.
            </summary>
            <param name="level">The level to check.</param>
            <returns>
            <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
            </returns>
            <remarks>
            <para>
            Test if this logger is going to log events of the specified <paramref name="level"/>.
            </para>
            <para>
            This method must not throw any exception to the caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.Core.LoggingEvent)">
            <summary>
            Deliver the <see cref="T:log4net.Core.LoggingEvent"/> to the attached appenders.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Call the appenders in the hierarchy starting at
            <c>this</c>. If no appenders could be found, emit a
            warning.
            </para>
            <para>
            This method calls all the appenders inherited from the
            hierarchy circumventing any evaluation of whether to log or not
            to log the particular log request.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.CloseNestedAppenders">
            <summary>
            Closes all attached appenders implementing the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
            </summary>
            <remarks>
            <para>
            Used to ensure that the appenders are correctly shutdown.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            This is the most generic printing method. This generic form is intended to be used by wrappers
            </summary>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Generate a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(System.Type,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            Creates a new logging event and logs the event without further checks.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Generates a logging event and delivers it to the attached
            appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(log4net.Core.LoggingEvent)">
            <summary>
            Creates a new logging event and logs the event without further checks.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            <para>
            Delivers the logging event to the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.declaringType">
            <summary>
            The fully qualified type of the Logger class.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_name">
            <summary>
            The name of this logger.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_level">
            <summary>
            The assigned level of this logger. 
            </summary>
            <remarks>
            <para>
            The <c>level</c> variable need not be 
            assigned a value in which case it is inherited 
            form the hierarchy.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_parent">
            <summary>
            The parent of this logger.
            </summary>
            <remarks>
            <para>
            The parent of this logger. 
            All loggers have at least one ancestor which is the root logger.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_hierarchy">
            <summary>
            Loggers need to know what Hierarchy they are in.
            </summary>
            <remarks>
            <para>
            Loggers need to know what Hierarchy they are in.
            The hierarchy that this logger is a member of is stored
            here.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderAttachedImpl">
            <summary>
            Helper implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_additive">
            <summary>
            Flag indicating if child loggers inherit their parents appenders
            </summary>
            <remarks>
            <para>
            Additivity is set to true by default, that is children inherit
            the appenders of their ancestors by default. If this variable is
            set to <c>false</c> then the appenders found in the
            ancestors of this logger are not used. However, the children
            of this logger will inherit its appenders, unless the children
            have their additivity flag set to <c>false</c> too. See
            the user manual for more details.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderLock">
            <summary>
            Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl
            </summary>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Parent">
            <summary>
            Gets or sets the parent logger in the hierarchy.
            </summary>
            <value>
            The parent logger in the hierarchy.
            </value>
            <remarks>
            <para>
            Part of the Composite pattern that makes the hierarchy.
            The hierarchy is parent linked rather than child linked.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Additivity">
            <summary>
            Gets or sets a value indicating if child loggers inherit their parent's appenders.
            </summary>
            <value>
            <c>true</c> if child loggers inherit their parent's appenders.
            </value>
            <remarks>
            <para>
            Additivity is set to <c>true</c> by default, that is children inherit
            the appenders of their ancestors by default. If this variable is
            set to <c>false</c> then the appenders found in the
            ancestors of this logger are not used. However, the children
            of this logger will inherit its appenders, unless the children
            have their additivity flag set to <c>false</c> too. See
            the user manual for more details.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.EffectiveLevel">
            <summary>
            Gets the effective level for this logger.
            </summary>
            <returns>The nearest level in the logger hierarchy.</returns>
            <remarks>
            <para>
            Starting from this logger, searches the logger hierarchy for a
            non-null level and returns it. Otherwise, returns the level of the
            root logger.
            </para>
            <para>The Logger class is designed so that this method executes as
            quickly as possible.</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Hierarchy">
            <summary>
            Gets or sets the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>The hierarchy that this logger belongs to.</value>
            <remarks>
            <para>
            This logger must be attached to a single <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Level">
            <summary>
            Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>, if any, for this Logger.  
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> of this logger.
            </value>
            <remarks>
            <para>
            The assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> can be <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Appenders">
            <summary>
            Get the appenders contained in this logger as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>A collection of the appenders in this logger</returns>
            <remarks>
            <para>
            Get the appenders contained in this logger as an 
            <see cref="T:System.Collections.ICollection"/>. If no appenders 
            can be found, then a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Name">
            <summary>
            Gets the logger name.
            </summary>
            <value>
            The name of the logger.
            </value>
            <remarks>
            <para>
            The name of this logger
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Repository">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
            </value>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.PluginMap">
            <summary>
            Map of repository plugins.
            </summary>
            <remarks>
            <para>
            This class is a name keyed map of the plugins that are
            attached to a repository.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.PluginMap.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Constructor
            </summary>
            <param name="repository">The repository that the plugins should be attached to.</param>
            <remarks>
            <para>
            Initialize a new instance of the <see cref="T:log4net.Plugin.PluginMap"/> class with a 
            repository that the plugins should be attached to.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginMap.Add(log4net.Plugin.IPlugin)">
            <summary>
            Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the map.
            </summary>
            <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to add to the map.</param>
            <remarks>
            <para>
            The <see cref="T:log4net.Plugin.IPlugin"/> will be attached to the repository when added.
            </para>
            <para>
            If there already exists a plugin with the same name 
            attached to the repository then the old plugin will
            be <see cref="M:log4net.Plugin.IPlugin.Shutdown"/> and replaced with
            the new plugin.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginMap.Remove(log4net.Plugin.IPlugin)">
            <summary>
            Removes a <see cref="T:log4net.Plugin.IPlugin"/> from the map.
            </summary>
            <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the map.</param>
            <remarks>
            <para>
            Remove a specific plugin from this map.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.PluginMap.Item(System.String)">
            <summary>
            Gets a <see cref="T:log4net.Plugin.IPlugin"/> by name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Plugin.IPlugin"/> to lookup.</param>
            <returns>
            The <see cref="T:log4net.Plugin.IPlugin"/> from the map with the name specified, or 
            <c>null</c> if no plugin is found.
            </returns>
            <remarks>
            <para>
            Lookup a plugin by name. If the plugin is not found <c>null</c>
            will be returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.PluginMap.AllPlugins">
            <summary>
            Gets all possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.
            </summary>
            <value>All possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.</value>
            <remarks>
            <para>
            Get a collection of all the plugins defined in this map.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.DefaultRenderer">
            <summary>
            The default object Renderer.
            </summary>
            <remarks>
            <para>
            The default renderer supports rendering objects and collections to strings.
            </para>
            <para>
            See the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)"/> method for details of the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.ObjectRenderer.IObjectRenderer">
            <summary>
            Implement this interface in order to render objects as strings
            </summary>
            <remarks>
            <para>
            Certain types require special case conversion to
            string form. This conversion is done by an object renderer.
            Object renderers implement the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>
            interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.ObjectRenderer.IObjectRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
            <summary>
            Render the object <paramref name="obj"/> to a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="obj">The object to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Render the object <paramref name="obj"/> to a 
            string.
            </para>
            <para>
            The <paramref name="rendererMap"/> parameter is
            provided to lookup and render other objects. This is
            very useful where <paramref name="obj"/> contains
            nested objects of unknown type. The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)"/>
            method can be used to render these objects.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
            <summary>
            Render the object <paramref name="obj"/> to a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="obj">The object to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Render the object <paramref name="obj"/> to a string.
            </para>
            <para>
            The <paramref name="rendererMap"/> parameter is
            provided to lookup and render other objects. This is
            very useful where <paramref name="obj"/> contains
            nested objects of unknown type. The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)"/>
            method can be used to render these objects.
            </para>
            <para>
            The default renderer supports rendering objects to strings as follows:
            </para>
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Rendered String</description>
            	</listheader>
            	<item>
            		<term><c>null</c></term>
            		<description>
            		<para>"(null)"</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Array"/></term>
            		<description>
            		<para>
            		For a one dimensional array this is the
            		array type name, an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace. 
            		</para>
            		<para>
            		For example: <c>int[] {1, 2, 3}</c>.
            		</para>
            		<para>
            		If the array is not one dimensional the 
            		<c>Array.ToString()</c> is returned.
            		</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Collections.IEnumerable"/>, <see cref="T:System.Collections.ICollection"/> &amp; <see cref="T:System.Collections.IEnumerator"/></term>
            		<description>
            		<para>
            		Rendered as an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace.
            		</para>
            		<para>
            		For example: <c>{a, b, c}</c>.
            		</para>
            		<para>
            		All collection classes that implement <see cref="T:System.Collections.ICollection"/> its subclasses, 
            		or generic equivalents all implement the <see cref="T:System.Collections.IEnumerable"/> interface.
            		</para>
            		</description>
            	</item>		
            	<item>
            		<term><see cref="T:System.Collections.DictionaryEntry"/></term>
            		<description>
            		<para>
            		Rendered as the key, an equals sign ('='), and the value (using the appropriate
            		renderer). 
            		</para>
            		<para>
            		For example: <c>key=value</c>.
            		</para>
            		</description>
            	</item>		
            	<item>
            		<term>other</term>
            		<description>
            		<para><c>Object.ToString()</c></para>
            		</description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array,System.IO.TextWriter)">
            <summary>
            Render the array argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="array">the array to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            For a one dimensional array this is the
            array type name, an open brace, followed by a comma
            separated list of the elements (using the appropriate
            renderer), followed by a close brace. For example:
            <c>int[] {1, 2, 3}</c>.
            </para>
            <para>
            If the array is not one dimensional the 
            <c>Array.ToString()</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderEnumerator(log4net.ObjectRenderer.RendererMap,System.Collections.IEnumerator,System.IO.TextWriter)">
            <summary>
            Render the enumerator argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="enumerator">the enumerator to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Rendered as an open brace, followed by a comma
            separated list of the elements (using the appropriate
            renderer), followed by a close brace. For example:
            <c>{a, b, c}</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderDictionaryEntry(log4net.ObjectRenderer.RendererMap,System.Collections.DictionaryEntry,System.IO.TextWriter)">
            <summary>
            Render the DictionaryEntry argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="entry">the DictionaryEntry to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Render the key, an equals sign ('='), and the value (using the appropriate
            renderer). For example: <c>key=value</c>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.NDC">
            <summary>
            Implementation of Nested Diagnostic Contexts.
            </summary>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            A Nested Diagnostic Context, or NDC in short, is an instrument
            to distinguish interleaved log output from different sources. Log
            output is typically interleaved when a server handles multiple
            clients near-simultaneously.
            </para>
            <para>
            Interleaved log output can still be meaningful if each log entry
            from different contexts had a distinctive stamp. This is where NDCs
            come into play.
            </para>
            <para>
            Note that NDCs are managed on a per thread basis. The NDC class
            is made up of static methods that operate on the context of the
            calling thread.
            </para>
            </remarks>
            <example>How to push a message into the context
            <code lang="C#">
            using(NDC.Push("my context message"))
            {
            	... all log calls will have 'my context message' included ...
            
            } // at the end of the using block the message is automatically removed 
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.NDC.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.NDC"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.NDC.Clear">
            <summary>
            Clears all the contextual information held on the current thread.
            </summary>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Clears the stack of NDC data held on the current thread.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.CloneStack">
            <summary>
            Creates a clone of the stack of context information.
            </summary>
            <returns>A clone of the context info for this thread.</returns>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            The results of this method can be passed to the <see cref="M:log4net.NDC.Inherit(System.Collections.Stack)"/> 
            method to allow child threads to inherit the context of their 
            parent thread.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.Inherit(System.Collections.Stack)">
            <summary>
            Inherits the contextual information from another thread.
            </summary>
            <param name="stack">The context stack to inherit.</param>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            This thread will use the context information from the stack
            supplied. This can be used to initialize child threads with
            the same contextual information as their parent threads. These
            contexts will <b>NOT</b> be shared. Any further contexts that
            are pushed onto the stack will not be visible to the other.
            Call <see cref="M:log4net.NDC.CloneStack"/> to obtain a stack to pass to
            this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.Pop">
            <summary>
            Removes the top context from the stack.
            </summary>
            <returns>
            The message in the context that was removed from the top 
            of the stack.
            </returns>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Remove the top context from the stack, and return
            it to the caller. If the stack is empty then an
            empty string (not <c>null</c>) is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.Push(System.String)">
            <summary>
            Pushes a new context message.
            </summary>
            <param name="message">The new context message.</param>
            <returns>
            An <see cref="T:System.IDisposable"/> that can be used to clean up 
            the context stack.
            </returns>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Pushes a new context onto the context stack. An <see cref="T:System.IDisposable"/>
            is returned that can be used to clean up the context stack. This
            can be easily combined with the <c>using</c> keyword to scope the
            context.
            </para>
            </remarks>
            <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
            <code lang="C#">
            using(log4net.NDC.Push("NDC_Message"))
            {
            	log.Warn("This should have an NDC message");
            }
            </code>
            </example>
        </member>
        <member name="M:log4net.NDC.Remove">
            <summary>
            Removes the context information for this thread. It is
            not required to call this method.
            </summary>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            This method is not implemented.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.SetMaxDepth(System.Int32)">
            <summary>
            Forces the stack depth to be at most <paramref name="maxDepth"/>.
            </summary>
            <param name="maxDepth">The maximum depth of the stack</param>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Forces the stack depth to be at most <paramref name="maxDepth"/>.
            This may truncate the head of the stack. This only affects the 
            stack in the current thread. Also it does not prevent it from
            growing, it only sets the maximum depth at the time of the
            call. This can be used to return to a known context depth.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.NDC.Depth">
            <summary>
            Gets the current context depth.
            </summary>
            <value>The current context depth.</value>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            The number of context values pushed onto the context stack.
            </para>
            <para>
            Used to record the current depth of the context. This can then 
            be restored using the <see cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/> method.
            </para>
            </remarks>
            <seealso cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/>
        </member>
        <member name="T:log4net.Layout.Pattern.TypeNamePatternConverter">
            <summary>
            Pattern converter for the class name
            </summary>
            <remarks>
            <para>
            Outputs the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the event.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Layout.Pattern.NamedPatternConverter">
            <summary>
            Converter to output and truncate <c>'.'</c> separated strings
            </summary>
            <remarks>
            <para>
            This abstract class supports truncating a <c>'.'</c> separated string
            to show a specified number of elements from the right hand side.
            This is used to truncate class names that are fully qualified.
            </para>
            <para>
            Subclasses should override the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> method to
            return the fully qualified string.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Core.IOptionHandler">
            <summary>
            Interface used to delay activate a configured object.
            </summary>
            <remarks>
            <para>
            This allows an object to defer activation of its options until all
            options have been set. This is required for components which have
            related options that remain ambiguous until all are set.
            </para>
            <para>
            If a component implements this interface then the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method 
            must be called by the container after its all the configured properties have been set 
            and before the component can be used.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
            <summary>
            Activate the options that were previously set with calls to properties.
            </summary>
            <remarks>
            <para>
            This allows an object to defer activation of its options until all
            options have been set. This is required for components which have
            related options that remain ambiguous until all are set.
            </para>
            <para>
            If a component implements this interface then this method must be called
            after its properties have been set before the component can be used.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions">
            <summary>
            Initialize the converter 
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
            <summary>
            Get the fully qualified string data
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the fully qualified name</returns>
            <remarks>
            <para>
            Overridden by subclasses to get the fully qualified name before the
            precision is applied to it.
            </para>
            <para>
            Return the fully qualified <c>'.'</c> (dot/period) separated string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.NamedPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Convert the pattern to the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            Render the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> to the precision
            specified by the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
            </remarks>
        </member>
        <member name="F:log4net.Layout.Pattern.NamedPatternConverter.declaringType">
            <summary>
            The fully qualified type of the NamedPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.TypeNamePatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
            <summary>
            Gets the fully qualified name of the class
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>The fully qualified type name for the caller location</returns>
            <remarks>
            <para>
            Returns the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the <paramref name="loggingEvent"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.NdcPatternConverter">
            <summary>
            Converter to include event NDC
            </summary>
            <remarks>
            <para>
            Outputs the value of the event property named <c>NDC</c>.
            </para>
            <para>
            The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.NdcPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the event NDC to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            As the thread context stacks are now stored in named event properties
            this converter simply looks up the value of the <c>NDC</c> property.
            </para>
            <para>
            The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.MessagePatternConverter">
            <summary>
            Writes the event message to the output
            </summary>
            <remarks>
            <para>
            Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
            to write out the event message.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.MessagePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Writes the event message to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
            to write out the event message.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.ExceptionLayout">
            <summary>
            A Layout that renders only the Exception text from the logging event
            </summary>
            <remarks>
            <para>
            A Layout that renders only the Exception text from the logging event.
            </para>
            <para>
            This Layout should only be used with appenders that utilize multiple
            layouts (e.g. <see cref="T:log4net.Appender.AdoNetAppender"/>).
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Layout.LayoutSkeleton">
            <summary>
            Extend this abstract class to create your own log layout format.
            </summary>
            <remarks>
            <para>
            This is the base implementation of the <see cref="T:log4net.Layout.ILayout"/>
            interface. Most layout objects should extend this class.
            </para>
            </remarks>
            <remarks>
            <note type="inheritinfo">
            <para>
            Subclasses must implement the <see cref="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/>
            method.
            </para>
            <para>
            Subclasses should set the <see cref="P:log4net.Layout.LayoutSkeleton.IgnoresException"/> in their default
            constructor.
            </para>
            </note>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Layout.ILayout">
            <summary>
            Interface implemented by layout objects
            </summary>
            <remarks>
            <para>
            An <see cref="T:log4net.Layout.ILayout"/> object is used to format a <see cref="T:log4net.Core.LoggingEvent"/>
            as text. The <see cref="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/> method is called by an
            appender to transform the <see cref="T:log4net.Core.LoggingEvent"/> into a string.
            </para>
            <para>
            The layout can also supply <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
            text that is appender before any events and after all the events respectively.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <param name="loggingEvent">The event to format</param>
            <remarks>
            <para>
            This method is called by an appender to format
            the <paramref name="loggingEvent"/> as text and output to a writer.
            </para>
            <para>
            If the caller does not have a <see cref="T:System.IO.TextWriter"/> and prefers the
            event to be formatted as a <see cref="T:System.String"/> then the following
            code can be used to format the event into a <see cref="T:System.IO.StringWriter"/>.
            </para>
            <code lang="C#">
            StringWriter writer = new StringWriter();
            Layout.Format(writer, loggingEvent);
            string formattedEvent = writer.ToString();
            </code>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.ContentType">
            <summary>
            The content type output by this layout. 
            </summary>
            <value>The content type</value>
            <remarks>
            <para>
            The content type output by this layout.
            </para>
            <para>
            This is a MIME type e.g. <c>"text/plain"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>
            The Header text will be appended before any logging events
            are formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>
            The Footer text will be appended after all the logging events
            have been formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.IgnoresException">
            <summary>
            Flag indicating if this layout handle exceptions
            </summary>
            <value><c>false</c> if this layout handles exceptions</value>
            <remarks>
            <para>
            If this layout handles the exception object contained within
            <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the layout should return <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_header">
            <summary>
            The header text
            </summary>
            <remarks>
            <para>
            See <see cref="P:log4net.Layout.LayoutSkeleton.Header"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_footer">
            <summary>
            The footer text
            </summary>
            <remarks>
            <para>
            See <see cref="P:log4net.Layout.LayoutSkeleton.Footer"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_ignoresException">
            <summary>
            Flag indicating if this layout handles exceptions
            </summary>
            <remarks>
            <para>
            <c>false</c> if this layout handles exceptions
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.#ctor">
            <summary>
            Empty default constructor
            </summary>
            <remarks>
            <para>
            Empty default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.ActivateOptions">
            <summary>
            Activate component options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> must be called again.
            </para>
            <para>
            This method must be implemented by the subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <param name="loggingEvent">The event to format</param>
            <remarks>
            <para>
            This method is called by an appender to format
            the <paramref name="loggingEvent"/> as text.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.Format(log4net.Core.LoggingEvent)">
            <summary>
            Convenience method for easily formatting the logging event into a string variable.
            </summary>
            <param name="loggingEvent"></param>
            <remarks>
            Creates a new StringWriter instance to store the formatted logging event.
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.ContentType">
            <summary>
            The content type output by this layout. 
            </summary>
            <value>The content type is <c>"text/plain"</c></value>
            <remarks>
            <para>
            The content type output by this layout.
            </para>
            <para>
            This base class uses the value <c>"text/plain"</c>.
            To change this value a subclass must override this
            property.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>
            The Header text will be appended before any logging events
            are formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>
            The Footer text will be appended after all the logging events
            have been formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.IgnoresException">
            <summary>
            Flag indicating if this layout handles exceptions
            </summary>
            <value><c>false</c> if this layout handles exceptions</value>
            <remarks>
            <para>
            If this layout handles the exception object contained within
            <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the layout should return <c>true</c>.
            </para>
            <para>
            Set this value to override a this default setting. The default
            value is <c>true</c>, this layout does not handle the exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Constructs a ExceptionLayout
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.ActivateOptions">
            <summary>
            Activate component options
            </summary>
            <remarks>
            <para>
            Part of the <see cref="T:log4net.Core.IOptionHandler"/> component activation
            framework.
            </para>
            <para>
            This method does nothing as options become effective immediately.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Gets the exception text from the logging event
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Write the exception string to the <see cref="T:System.IO.TextWriter"/>.
            The exception string is retrieved from <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.GlobalContext">
            <summary>
            The log4net Global Context.
            </summary>
            <remarks>
            <para>
            The <c>GlobalContext</c> provides a location for global debugging 
            information to be stored.
            </para>
            <para>
            The global context has a properties map and these properties can 
            be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
            supports selecting and outputing these properties.
            </para>
            <para>
            By default the <c>log4net:HostName</c> property is set to the name of 
            the current machine.
            </para>
            </remarks>
            <example>
            <code lang="C#">
            GlobalContext.Properties["hostname"] = Environment.MachineName;
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.GlobalContext.#ctor">
            <summary>
            Private Constructor. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="F:log4net.GlobalContext.s_properties">
            <summary>
            The global context properties instance
            </summary>
        </member>
        <member name="P:log4net.GlobalContext.Properties">
            <summary>
            The global properties map.
            </summary>
            <value>
            The global properties map.
            </value>
            <remarks>
            <para>
            The global properties map.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.LoggerMatchFilter">
            <summary>
            Simple filter to match a string in the event's logger name.
            </summary>
            <remarks>
            <para>
            The works very similar to the <see cref="T:log4net.Filter.LevelMatchFilter"/>. It admits two 
            options <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> and <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>. If the 
            <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <see cref="T:log4net.Core.LoggingEvent"/> starts 
            with the value of the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> option, then the 
            <see cref="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in 
            case the <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> option value is set to <c>true</c>, 
            if it is <c>false</c> then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
            <author>Daniel Cazzulino</author>
        </member>
        <member name="T:log4net.Filter.FilterSkeleton">
            <summary>
            Subclass this type to implement customized logging event filtering
            </summary>
            <remarks>
            <para>
            Users should extend this class to implement customized logging
            event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
            <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
            appenders, have built-in filtering rules. It is suggested that you
            first use and understand the built-in rules before rushing to write
            your own custom filters.
            </para>
            <para>
            This abstract class assumes and also imposes that filters be
            organized in a linear chain. The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/>
            method of each filter is called sequentially, in the order of their 
            addition to the chain.
            </para>
            <para>
            The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/> method must return one
            of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>, 
            <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped 
            immediately without consulting with the remaining filters.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
            in the chain is consulted. If there are no more filters in the
            chain, then the log event is logged. Thus, in the presence of no
            filters, the default behavior is to log all logging events.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
            event is logged without consulting the remaining filters.
            </para>
            <para>
            The philosophy of log4net filters is largely inspired from the
            Linux ipchains.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Filter.IFilter">
            <summary>
            Implement this interface to provide customized logging event filtering
            </summary>
            <remarks>
            <para>
            Users should implement this interface to implement customized logging
            event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
            <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
            appenders, have built-in filtering rules. It is suggested that you
            first use and understand the built-in rules before rushing to write
            your own custom filters.
            </para>
            <para>
            This abstract class assumes and also imposes that filters be
            organized in a linear chain. The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
            method of each filter is called sequentially, in the order of their 
            addition to the chain.
            </para>
            <para>
            The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/> method must return one
            of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>, 
            <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped 
            immediately without consulting with the remaining filters.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
            in the chain is consulted. If there are no more filters in the
            chain, then the log event is logged. Thus, in the presence of no
            filters, the default behavior is to log all logging events.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
            event is logged without consulting the remaining filters.
            </para>
            <para>
            The philosophy of log4net filters is largely inspired from the
            Linux ipchains.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Decide if the logging event should be logged through an appender.
            </summary>
            <param name="loggingEvent">The LoggingEvent to decide upon</param>
            <returns>The decision of the filter</returns>
            <remarks>
            <para>
            If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
            dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
            filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
            the event will be logged without consulting with other filters in
            the chain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.IFilter.Next">
            <summary>
            Property to get and set the next filter
            </summary>
            <value>
            The next filter in the chain
            </value>
            <remarks>
            <para>
            Filters are typically composed into chains. This property allows the next filter in 
            the chain to be accessed.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.FilterSkeleton.m_next">
            <summary>
            Points to the next filter in the filter chain.
            </summary>
            <remarks>
            <para>
            See <see cref="P:log4net.Filter.FilterSkeleton.Next"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.FilterSkeleton.ActivateOptions">
            <summary>
            Initialize the filter with the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> must be called again.
            </para>
            <para>
            Typically filter's options become active immediately on set, 
            however this method must still be called. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Decide if the <see cref="T:log4net.Core.LoggingEvent"/> should be logged through an appender.
            </summary>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> to decide upon</param>
            <returns>The decision of the filter</returns>
            <remarks>
            <para>
            If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
            dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
            filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
            the event will be logged without consulting with other filters in
            the chain.
            </para>
            <para>
            This method is marked <c>abstract</c> and must be implemented
            in a subclass.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.FilterSkeleton.Next">
            <summary>
            Property to get and set the next filter
            </summary>
            <value>
            The next filter in the chain
            </value>
            <remarks>
            <para>
            Filters are typically composed into chains. This property allows the next filter in 
            the chain to be accessed.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.LoggerMatchFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behavior when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.LoggerMatchFilter.m_loggerToMatch">
            <summary>
            The logger name string to substring match against the event
            </summary>
        </member>
        <member name="M:log4net.Filter.LoggerMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            The rendered message is matched against the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>.
            If the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> equals the beginning of 
            the incoming <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> (<see cref="M:System.String.StartsWith(System.String)"/>)
            then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch">
            <summary>
            The <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> that the filter will match
            </summary>
            <remarks>
            <para>
            This filter will attempt to match this value against logger name in
            the following way. The match will be done against the beginning of the
            logger name (using <see cref="M:System.String.StartsWith(System.String)"/>). The match is
            case sensitive. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.BasicConfigurator">
            <summary>
            Use this class to quickly configure a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </summary>
            <remarks>
            <para>
            Allows very simple programmatic configuration of log4net.
            </para>
            <para>
            Only one appender can be configured using this configurator.
            The appender is set at the root of the hierarchy and all logging
            events will be delivered to that appender.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Config.BasicConfigurator.declaringType">
            <summary>
            The fully qualified type of the BasicConfigurator class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.BasicConfigurator"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure">
            <summary>
            Initializes the log4net system with a default configuration.
            </summary>
            <remarks>
            <para>
            Initializes the log4net logging system using a <see cref="T:log4net.Appender.ConsoleAppender"/>
            that will write to <c>Console.Out</c>. The log messages are
            formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
            with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
            layout style.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender)">
            <summary>
            Initializes the log4net system using the specified appender.
            </summary>
            <param name="appender">The appender to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the log4net system using the specified appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender[])">
            <summary>
            Initializes the log4net system using the specified appenders.
            </summary>
            <param name="appenders">The appenders to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the log4net system using the specified appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository)">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> with a default configuration.
            </summary>
            <param name="repository">The repository to configure.</param>
            <remarks>
            <para>
            Initializes the specified repository using a <see cref="T:log4net.Appender.ConsoleAppender"/>
            that will write to <c>Console.Out</c>. The log messages are
            formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
            with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
            layout style.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender)">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="appender">The appender to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender[])">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appenders.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="appenders">The appenders to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.NetSendAppender">
            <summary>
            Logs entries by sending network messages using the 
            <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> native function.
            </summary>
            <remarks>
            <para>
            You can send messages only to names that are active 
            on the network. If you send the message to a user name, 
            that user must be logged on and running the Messenger 
            service to receive the message.
            </para>
            <para>
            The receiver will get a top most window displaying the 
            messages one at a time, therefore this appender should 
            not be used to deliver a high volume of messages.
            </para>
            <para>
            The following table lists some possible uses for this appender :
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Action</term>
                    <description>Property Value(s)</description>
                </listheader>
                <item>
                    <term>Send a message to a user account on the local machine</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the local machine&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to a user account on a remote machine</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the remote machine&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to a domain user account</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of a domain controller | uninitialized&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to all the names in a workgroup or domain</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;workgroup name | domain name&gt;*
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message from the local machine to a remote machine</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the local machine | uninitialized&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;name of the remote machine&gt;
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            <b>Note :</b> security restrictions apply for sending 
            network messages, see <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> 
            for more information.
            </para>
            </remarks>
            <example>
            <para>
            An example configuration section to log information 
            using this appender from the local machine, named 
            LOCAL_PC, to machine OPERATOR_PC :
            </para>
            <code lang="XML" escaped="true">
            <appender name="NetSendAppender_Operator" type="log4net.Appender.NetSendAppender">
                <server value="LOCAL_PC"/>
                <recipient value="OPERATOR_PC"/>
                <layout type="log4net.Layout.PatternLayout" value="%-5p %c [%x] - %m%n"/>
            </appender>
            </code>
            </example>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Appender.AppenderSkeleton">
            <summary>
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>. 
            </summary>
            <remarks>
            <para>
            This class provides the code for common functionality, such 
            as support for threshold filtering and support for general filters.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Appender.IAppender">
            <summary>
            Implement this interface for your own strategies for printing log statements.
            </summary>
            <remarks>
            <para>
            Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
            class which provides a default implementation of this interface.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.IAppender.Close">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
            <summary>
            Log the logging event in Appender specific way.
            </summary>
            <param name="loggingEvent">The event to log</param>
            <remarks>
            <para>
            This method is called to log a message into this appender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.IAppender.Name">
            <summary>
            Gets or sets the name of this appender.
            </summary>
            <value>The name of the appender.</value>
            <remarks>
            <para>The name uniquely identifies the appender.</para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.IBulkAppender">
            <summary>
            Interface for appenders that support bulk logging.
            </summary>
            <remarks>
            <para>
            This interface extends the <see cref="T:log4net.Appender.IAppender"/> interface to
            support bulk logging of <see cref="T:log4net.Core.LoggingEvent"/> objects. Appenders
            should only implement this interface if they can bulk log efficiently.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
            <summary>
            Log the array of logging events in Appender specific way.
            </summary>
            <param name="loggingEvents">The events to log</param>
            <remarks>
            <para>
            This method is called to log an array of events into this appender.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>Empty default constructor</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
            <summary>
            Finalizes this appender by calling the implementation's 
            <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
            </summary>
            <remarks>
            <para>
            If this appender has not been closed then the <c>Finalize</c> method
            will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Close">
            <summary>
            Closes the appender and release resources.
            </summary>
            <remarks>
            <para>
            Release any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            <para>
            This method cannot be overridden by subclasses. This method 
            delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
            method which must be overridden in the subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
            <summary>
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            This method cannot be overridden by derived classes. A
            derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method
            which is called by this method.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvent"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
            		<paramref name="loggingEvent"/>.
            		</description>
            	</item>
            	<item>
            		<description>
            		Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that 
            		it returns <c>true</c>.</description>
            	</item>
            </list>
            </para>
            <para>
            If all of the above steps succeed then the <paramref name="loggingEvent"/>
            will be passed to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
            <summary>
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method.
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            This method cannot be overridden by derived classes. A
            derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method
            which is called by this method.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvents"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
            		<paramref name="loggingEvents"/>.
            		</description>
            	</item>
            	<item>
            		<description>
            		Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that 
            		it returns <c>true</c>.</description>
            	</item>
            </list>
            </para>
            <para>
            If all of the above steps succeed then the <paramref name="loggingEvents"/>
            will be passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
            <summary>
            Test if the logging event should we output by this appender
            </summary>
            <param name="loggingEvent">the event to test</param>
            <returns><c>true</c> if the event should be output, <c>false</c> if the event should be ignored</returns>
            <remarks>
            <para>
            This method checks the logging event against the threshold level set
            on this appender and also against the filters specified on this
            appender.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvent"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
            		<paramref name="loggingEvent"/>.
            		</description>
            	</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
            <summary>
            Adds a filter to the end of the filter chain.
            </summary>
            <param name="filter">the filter to add to this appender</param>
            <remarks>
            <para>
            The Filters are organized in a linked list.
            </para>
            <para>
            Setting this property causes the new filter to be pushed onto the 
            back of the filter chain.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
            <summary>
            Clears the filter list for this appender.
            </summary>
            <remarks>
            <para>
            Clears the filter list for this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
            <summary>
            Checks if the message level is below this appender's threshold.
            </summary>
            <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
            <remarks>
            <para>
            If there is no threshold set, then the return value is always <c>true</c>.
            </para>
            </remarks>
            <returns>
            <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> 
            requirements of this appender.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
            <summary>
            Is called when the appender is closed. Derived classes should override 
            this method if resources need to be released.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
            <summary>
            Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method 
            to perform actual logging.
            </summary>
            <param name="loggingEvent">The event to append.</param>
            <remarks>
            <para>
            A subclass must implement this method to perform
            logging of the <paramref name="loggingEvent"/>.
            </para>
            <para>This method will be called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
            if all the conditions listed for that method are met.
            </para>
            <para>
            To restrict the logging of events in the appender
            override the <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
            <summary>
            Append a bulk array of logging events.
            </summary>
            <param name="loggingEvents">the array of logging events</param>
            <remarks>
            <para>
            This base class implementation calls the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/>
            method for each element in the bulk array.
            </para>
            <para>
            A sub class that can better process a bulk array of events should
            override this method in addition to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
            <summary>
            Called before <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> as a precondition.
            </summary>
            <remarks>
            <para>
            This method is called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
            before the call to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
            </para>
            <para>
            This method can be overridden in a subclass to extend the checks 
            made before the event is passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
            </para>
            <para>
            A subclass should ensure that they delegate this call to
            this base class if it is overridden.
            </para>
            </remarks>
            <returns><c>true</c> if the call to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> should proceed.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
            <summary>
            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
            </summary>
            <param name="loggingEvent">The event to render.</param>
            <returns>The event rendered as a string.</returns>
            <remarks>
            <para>
            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
            set to render the <paramref name="loggingEvent"/> to 
            a string.
            </para>
            <para>If there is exception data in the logging event and 
            the layout does not process the exception, this method 
            will append the exception text to the rendered string.
            </para>
            <para>
            Where possible use the alternative version of this method
            <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)"/>.
            That method streams the rendering onto an existing Writer
            which can give better performance if the caller already has
            a <see cref="T:System.IO.TextWriter"/> open and ready for writing.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
            </summary>
            <param name="loggingEvent">The event to render.</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
            set to render the <paramref name="loggingEvent"/> to 
            a string.
            </para>
            <para>If there is exception data in the logging event and 
            the layout does not process the exception, this method 
            will append the exception text to the rendered string.
            </para>
            <para>
            Use this method in preference to <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)"/>
            where possible. If, however, the caller needs to render the event
            to a string then <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)"/> does
            provide an efficient mechanism for doing so.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
            <summary>
            The layout of this appender.
            </summary>
            <remarks>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_name">
            <summary>
            The name of this appender.
            </summary>
            <remarks>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
            <summary>
            The level threshold of this appender.
            </summary>
            <remarks>
            <para>
            There is no level threshold filtering by default.
            </para>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
            <summary>
            It is assumed and enforced that errorHandler is never null.
            </summary>
            <remarks>
            <para>
            It is assumed and enforced that errorHandler is never null.
            </para>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
            <summary>
            The first filter in the filter chain.
            </summary>
            <remarks>
            <para>
            Set to <c>null</c> initially.
            </para>
            <para>
            See <see cref="T:log4net.Filter.IFilter"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
            <summary>
            The last filter in the filter chain.
            </summary>
            <remarks>
            See <see cref="T:log4net.Filter.IFilter"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
            <summary>
            Flag indicating if this appender is closed.
            </summary>
            <remarks>
            See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
            <summary>
            The guard prevents an appender from repeatedly calling its own DoAppend method
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
            <summary>
            StringWriter used to render events
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.declaringType">
            <summary>
            The fully qualified type of the AppenderSkeleton class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
            <summary>
            Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
            </summary>
            <value>
            The threshold <see cref="T:log4net.Core.Level"/> of the appender. 
            </value>
            <remarks>
            <para>
            All log events with lower level than the threshold level are ignored 
            by the appender.
            </para>
            <para>
            In configuration files this option is specified by setting the
            value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
            string, such as "DEBUG", "INFO" and so on.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
            <summary>
            Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
            </summary>
            <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
            <remarks>
            <para>
            The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default 
            implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
            <summary>
            The filter chain.
            </summary>
            <value>The head of the filter chain filter chain.</value>
            <remarks>
            <para>
            Returns the head Filter. The Filters are organized in a linked list
            and so all Filters on this Appender are available through the result.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Layout">
            <summary>
            Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
            </summary>
            <value>The layout of the appender.</value>
            <remarks>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
            </para>
            </remarks>
            <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Name">
            <summary>
            Gets or sets the name of this appender.
            </summary>
            <value>The name of the appender.</value>
            <remarks>
            <para>
            The name uniquely identifies the appender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
            <summary>
            Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
            </summary>
            <remarks>
            <para>
            In the rather exceptional case, where the appender 
            implementation admits a layout but can also work without it, 
            then the appender should return <c>true</c>.
            </para>
            <para>
            This default implementation always returns <c>false</c>.
            </para>
            </remarks>
            <returns>
            <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
            </returns>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_server">
            <summary>
            The DNS or NetBIOS name of the server on which the function is to execute.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_sender">
            <summary>
            The sender of the network message.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_recipient">
            <summary>
            The message alias to which the message should be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.#ctor">
            <summary>
            Initializes the appender.
            </summary>
            <remarks>
            The default constructor initializes all fields to their default values.
            </remarks>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            The appender will be ignored if no <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was specified.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was not specified.</exception>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Sends the event using a network message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)">
            <summary>
            Sends a buffer of information to a registered message alias.
            </summary>
            <param name="serverName">The DNS or NetBIOS name of the server on which the function is to execute.</param>
            <param name="msgName">The message alias to which the message buffer should be sent</param>
            <param name="fromName">The originator of the message.</param>
            <param name="buffer">The message text.</param>
            <param name="bufferSize">The length, in bytes, of the message text.</param>
            <remarks>
            <para>
            The following restrictions apply for sending network messages:
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Platform</term>
                    <description>Requirements</description>
                </listheader>
                <item>
                    <term>Windows NT</term>
                    <description>
                        <para>
                        No special group membership is required to send a network message.
                        </para>
                        <para>
                        Admin, Accounts, Print, or Server Operator group membership is required to 
                        successfully send a network message on a remote server.
                        </para>
                    </description>
                </item>
                <item>
                    <term>Windows 2000 or later</term>
                    <description>
                        <para>
                        If you send a message on a domain controller that is running Active Directory, 
                        access is allowed or denied based on the access control list (ACL) for the securable 
                        object. The default ACL permits only Domain Admins and Account Operators to send a network message. 
                        </para>
                        <para>
                        On a member server or workstation, only Administrators and Server Operators can send a network message. 
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            For more information see <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/security_requirements_for_the_network_management_functions.asp">Security Requirements for the Network Management Functions</a>.
            </para>
            </remarks>
            <returns>
            <para>
            If the function succeeds, the return value is zero.
            </para>
            </returns>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Sender">
            <summary>
            Gets or sets the sender of the message.
            </summary>
            <value>
            The sender of the message.
            </value>
            <remarks>
            If this property is not specified, the message is sent from the local computer.
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Recipient">
            <summary>
            Gets or sets the message alias to which the message should be sent.
            </summary>
            <value>
            The recipient of the message.
            </value>
            <remarks>
            This property should always be specified in order to send a message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Server">
            <summary>
            Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute.
            </summary>
            <value>
            DNS or NetBIOS name of the remote server on which the function is to execute.
            </value>
            <remarks>
            <para>
            For Windows NT 4.0 and earlier, the string should begin with \\.
            </para>
            <para>
            If this property is not specified, the local computer is used. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender">
            <summary>
            Appends logging events to a file.
            </summary>
            <remarks>
            <para>
            Logging events are sent to the file specified by
            the <see cref="P:log4net.Appender.FileAppender.File"/> property.
            </para>
            <para>
            The file can be opened in either append or overwrite mode 
            by specifying the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property.
            If the file path is relative it is taken as relative from 
            the application base directory. The file encoding can be
            specified by setting the <see cref="P:log4net.Appender.FileAppender.Encoding"/> property.
            </para>
            <para>
            The layout's <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
            values will be written each time the file is opened and closed
            respectively. If the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is <see langword="true"/>
            then the file may contain multiple copies of the header and footer.
            </para>
            <para>
            This appender will first try to open the file for writing when <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/>
            is called. This will typically be during configuration.
            If the file cannot be opened for writing the appender will attempt
            to open the file again each time a message is logged to the appender.
            If the file cannot be opened for writing when a message is logged then
            the message will be discarded by this appender.
            </para>
            <para>
            The <see cref="T:log4net.Appender.FileAppender"/> supports pluggable file locking models via
            the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> property.
            The default behavior, implemented by <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> 
            is to obtain an exclusive write lock on the file until this appender is closed.
            The alternative models only hold a
            write lock while the appender is writing a logging event (<see cref="T:log4net.Appender.FileAppender.MinimalLock"/>)
            or synchronize by using a named system wide Mutex (<see cref="T:log4net.Appender.FileAppender.InterProcessLock"/>).
            </para>
            <para>
            All locking strategies have issues and you should seriously consider using a different strategy that
            avoids having multiple processes logging to the same file.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Rodrigo B. de Oliveira</author>
            <author>Douglas de la Torre</author>
            <author>Niall Daley</author>
        </member>
        <member name="T:log4net.Appender.TextWriterAppender">
            <summary>
            Sends logging events to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            An Appender that writes to a <see cref="T:System.IO.TextWriter"/>.
            </para>
            <para>
            This appender may be used stand alone if initialized with an appropriate
            writer, however it is typically used as a base class for an appender that
            can open a <see cref="T:System.IO.TextWriter"/> to write to.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Douglas de la Torre</author>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and
            sets the output destination to a new <see cref="T:System.IO.StreamWriter"/> initialized 
            with the specified <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
            <param name="os">The <see cref="T:System.IO.Stream"/> to output to.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and sets
            the output destination to the specified <see cref="T:System.IO.StreamWriter"/>.
            </summary>
            <param name="layout">The layout to use with this appender</param>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to output to</param>
            <remarks>
            The <see cref="T:System.IO.TextWriter"/> must have been previously opened.
            </remarks>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.PreAppendCheck">
            <summary>
            This method determines if there is a sense in attempting to append.
            </summary>
            <remarks>
            <para>
            This method checks if an output target has been set and if a
            layout has been set. 
            </para>
            </remarks>
            <returns><c>false</c> if any of the preconditions fail.</returns>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes a log statement to the output stream if the output stream exists 
            and is writable.  
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent[])">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])"/>
            method. 
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            This method writes all the bulk logged events to the output writer
            before flushing the stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.OnClose">
            <summary>
            Close this appender instance. The underlying stream or writer is also closed.
            </summary>
            <remarks>
            Closed appenders cannot be reused.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteFooterAndCloseWriter">
            <summary>
            Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.CloseWriter">
            <summary>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Reset">
            <summary>
            Clears internal references to the underlying <see cref="T:System.IO.TextWriter"/> 
            and other variables.
            </summary>
            <remarks>
            <para>
            Subclasses can override this method for an alternate closing behavior.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteFooter">
            <summary>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </summary>
            <remarks>
            <para>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteHeader">
            <summary>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </summary>
            <remarks>
            <para>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.PrepareWriter">
            <summary>
            Called to allow a subclass to lazily initialize the writer
            </summary>
            <remarks>
            <para>
            This method is called when an event is logged and the <see cref="P:log4net.Appender.TextWriterAppender.Writer"/> or
            <see cref="P:log4net.Appender.TextWriterAppender.QuietWriter"/> have not been set. This allows a subclass to
            attempt to initialize the writer multiple times.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.m_qtw">
            <summary>
            This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
            will be written to. 
            </summary>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying <see cref="T:System.IO.TextWriter"/> 
            or output stream will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.TextWriterAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logging events are not actually persisted if and when the application 
            crashes.
            </para>
            <para>
            The default value is <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.declaringType">
            <summary>
            The fully qualified type of the TextWriterAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.ImmediateFlush">
            <summary>
            Gets or set whether the appender will flush at the end 
            of each append operation.
            </summary>
            <value>
            <para>
            The default behavior is to flush at the end of each 
            append operation.
            </para>
            <para>
            If this option is set to <c>false</c>, then the underlying 
            stream can defer persisting the logging event to a later 
            time.
            </para>
            </value>
            <remarks>
            Avoiding the flush operation at the end of each append results in
            a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.Writer">
            <summary>
            Sets the <see cref="T:System.IO.TextWriter"/> where the log output will go.
            </summary>
            <remarks>
            <para>
            The specified <see cref="T:System.IO.TextWriter"/> must be open and writable.
            </para>
            <para>
            The <see cref="T:System.IO.TextWriter"/> will be closed when the appender 
            instance is closed.
            </para>
            <para>
            <b>Note:</b> Logging to an unopened <see cref="T:System.IO.TextWriter"/> will fail.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.ErrorHandler">
            <summary>
            Gets or set the <see cref="T:log4net.Core.IErrorHandler"/> and the underlying 
            <see cref="T:log4net.Util.QuietTextWriter"/>, if any, for this appender. 
            </summary>
            <value>
            The <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
            </value>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.QuietWriter">
            <summary>
            Gets or sets the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
            will be written to. 
            </summary>
            <value>
            The <see cref="T:log4net.Util.QuietTextWriter"/> where logging events are written.
            </value>
            <remarks>
            <para>
            This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
            will be written to. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String,System.Boolean)">
            <summary>
            Construct a new appender using the layout, file and append mode.
            </summary>
            <param name="layout">the layout to use with this appender</param>
            <param name="filename">the full path to the file to write to</param>
            <param name="append">flag to indicate if the file should be appended to</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String)">
            <summary>
            Construct a new appender using the layout and file specified.
            The file will be appended to.
            </summary>
            <param name="layout">the layout to use with this appender</param>
            <param name="filename">the full path to the file to write to</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ActivateOptions">
            <summary>
            Activate the options on the file appender. 
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            This will cause the file to be opened.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.Reset">
            <summary>
            Closes any previously opened file and calls the parent's <see cref="M:log4net.Appender.TextWriterAppender.Reset"/>.
            </summary>
            <remarks>
            <para>
            Resets the filename and the file stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.PrepareWriter">
            <summary>
            Called to initialize the file writer
            </summary>
            <remarks>
            <para>
            Will be called for each logged message until the file is
            successfully opened.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes a log statement to the output stream if the output stream exists 
            and is writable.  
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent[])">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])"/>
            method. 
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            Acquires the output file locks once before writing all the events to
            the stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.WriteFooter">
            <summary>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </summary>
            <remarks>
            <para>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.WriteHeader">
            <summary>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </summary>
            <remarks>
            <para>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.CloseWriter">
            <summary>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.CloseFile">
            <summary>
            Closes the previously opened file.
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Layout.ILayout.Footer"/> to the file and then
            closes the file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SafeOpenFile(System.String,System.Boolean)">
            <summary>
            Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
            </summary>
            <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
            <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
            <remarks>
            <para>
            Calls <see cref="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)"/> but guarantees not to throw an exception.
            Errors are passed to the <see cref="P:log4net.Appender.TextWriterAppender.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)">
            <summary>
            Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
            </summary>
            <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
            <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
            <remarks>
            <para>
            If there was already an opened file, then the previous file
            is closed first.
            </para>
            <para>
            This method will ensure that the directory structure
            for the <paramref name="fileName"/> specified exists.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)">
            <summary>
            Sets the quiet writer used for file output
            </summary>
            <param name="fileStream">the file stream that has been opened for writing</param>
            <remarks>
            <para>
            This implementation of <see cref="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)"/> creates a <see cref="T:System.IO.StreamWriter"/>
            over the <paramref name="fileStream"/> and passes it to the 
            <see cref="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)"/> method.
            </para>
            <para>
            This method can be overridden by sub classes that want to wrap the
            <see cref="T:System.IO.Stream"/> in some way, for example to encrypt the output
            data using a <c>System.Security.Cryptography.CryptoStream</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)">
            <summary>
            Sets the quiet writer being used.
            </summary>
            <param name="writer">the writer over the file stream that has been opened for writing</param>
            <remarks>
            <para>
            This method can be overridden by sub classes that want to
            wrap the <see cref="T:System.IO.TextWriter"/> in some way.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified path.
            </summary>
            <param name="path">The path to convert.</param>
            <returns>The fully qualified path.</returns>
            <remarks>
            <para>
            Converts the path specified to a fully
            qualified path. If the path is relative it is
            taken as relative from the application base 
            directory.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_appendToFile">
            <summary>
            Flag to indicate if we should append to the file
            or overwrite the file. The default is to append.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_fileName">
            <summary>
            The name of the log file.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_encoding">
            <summary>
            The encoding to use for the file stream.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_stream">
            <summary>
            The stream to log to. Has added locking semantics
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_lockingModel">
            <summary>
            The locking model to use
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.declaringType">
            <summary>
            The fully qualified type of the FileAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.File">
            <summary>
            Gets or sets the path to the file that logging will be written to.
            </summary>
            <value>
            The path to the file that logging will be written to.
            </value>
            <remarks>
            <para>
            If the path is relative it is taken as relative from 
            the application base directory.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.AppendToFile">
            <summary>
            Gets or sets a flag that indicates whether the file should be
            appended to or overwritten.
            </summary>
            <value>
            Indicates whether the file should be appended to or overwritten.
            </value>
            <remarks>
            <para>
            If the value is set to false then the file will be overwritten, if 
            it is set to true then the file will be appended to.
            </para>
            The default value is true.
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.Encoding">
            <summary>
            Gets or sets <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
            </value>
            <remarks>
            <para>
            The default encoding set is <see cref="P:System.Text.Encoding.Default"/>
            which is the encoding for the system's current ANSI code page.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.LockingModel">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to lock the file.
            </value>
            <remarks>
            <para>
            Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
            </para>
            <para>
            There are three built in locking models, <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>, <see cref="T:log4net.Appender.FileAppender.MinimalLock"/> and <see cref="T:log4net.Appender.FileAppender.InterProcessLock"/> .
            The first locks the file from the start of logging to the end, the 
            second locks only for the minimal amount of time when logging each message
            and the last synchronizes processes using a named system wide Mutex.
            </para>
            <para>
            The default locking model is the <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.LockingStream">
            <summary>
            Write only <see cref="T:System.IO.Stream"/> that uses the <see cref="T:log4net.Appender.FileAppender.LockingModelBase"/> 
            to manage access to an underlying resource.
            </summary>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
            <summary>
            True asynchronous writes are not supported, the implementation forces a synchronous write.
            </summary>
        </member>
        <member name="T:log4net.Core.LogException">
            <summary>
            Exception base type for log4net.
            </summary>
            <remarks>
            <para>
            This type extends <see cref="T:System.ApplicationException"/>. It
            does not add any new functionality but does differentiate the
            type of exception being thrown.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.LogException.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="message">A message to include with the exception.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class with
            the specified message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
            <param name="message">A message to include with the exception.</param>
            <param name="innerException">A nested exception to include.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
            with the specified message and inner exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serialization constructor
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class 
            with serialized data.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.LockingModelBase">
            <summary>
            Locking model base class
            </summary>
            <remarks>
            <para>
            Base class for the locking models available to the <see cref="T:log4net.Appender.FileAppender"/> derived loggers.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Open the output file
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/>,
            <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Acquire the lock on the file in preparation for writing to it. 
            Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/>
            must be called to release the lock on the output file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock">
            <summary>
            Release the lock on the file
            </summary>
            <remarks>
            <para>
            Release the lock on the file. No further writes will be made to the 
            stream until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.CreateStream(System.String,System.Boolean,System.IO.FileShare)">
            <summary>
            Helper method that creates a FileStream under CurrentAppender's SecurityContext.
            </summary>
            <remarks>
            <para>
            Typically called during OpenFile or AcquireLock. 
            </para>
            <para>
            If the directory portion of the <paramref name="filename"/> does not exist, it is created
            via Directory.CreateDirecctory.
            </para>
            </remarks>
            <param name="filename"></param>
            <param name="append"></param>
            <param name="fileShare"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseStream(System.IO.Stream)">
            <summary>
            Helper method to close <paramref name="stream"/> under CurrentAppender's SecurityContext.
            </summary>
            <remarks>
            Does not set <paramref name="stream"/> to null.
            </remarks>
            <param name="stream"></param>
        </member>
        <member name="P:log4net.Appender.FileAppender.LockingModelBase.CurrentAppender">
            <summary>
            Gets or sets the <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
            </summary>
            <value>
            The <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
            </value>
            <remarks>
            <para>
            The file appender this locking model is attached to and working on
            behalf of.
            </para>
            <para>
            The file appender is used to locate the security context and the error handler to use.
            </para>
            <para>
            The value of this property will be set before <see cref="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)"/> is
            called.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.ExclusiveLock">
            <summary>
            Hold an exclusive lock on the output file
            </summary>
            <remarks>
            <para>
            Open the file once for writing and hold it open until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/> is called. 
            Maintains an exclusive lock on the file during this time.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Open the file specified and prepare for logging.
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/>,
            <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Does nothing. The lock is already taken
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock">
            <summary>
            Release the lock on the file
            </summary>
            <remarks>
            <para>
            Does nothing. The lock will be released when the file is closed.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.MinimalLock">
            <summary>
            Acquires the file lock for each write
            </summary>
            <remarks>
            <para>
            Opens the file once for each <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>/<see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> cycle, 
            thus holding the lock for the minimal amount of time. This method of locking
            is considerably slower than <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> but allows 
            other processes to move/delete the log file whilst logging continues.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Prepares to open the file when the first message is logged.
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>,
            <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.MinimalLock.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Acquire the lock on the file in preparation for writing to it. 
            Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/>
            must be called to release the lock on the output file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock">
            <summary>
            Release the lock on the file
            </summary>
            <remarks>
            <para>
            Release the lock on the file. No further writes will be made to the 
            stream until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called again.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.InterProcessLock">
            <summary>
            Provides cross-process file locking.
            </summary>
            <author>Ron Grabowski</author>
            <author>Steve Wranovsky</author>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Open the file specified and prepare for logging.
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock"/>,
            -<see cref="M:log4net.Appender.FileAppender.InterProcessLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.InterProcessLock.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Does nothing. The lock is already taken
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.ReleaseLock">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Appender.BufferingForwardingAppender">
            <summary>
            Buffers events and then forwards them to attached appenders.
            </summary>
            <remarks>
            <para>
            The events are buffered in this appender until conditions are
            met to allow the appender to deliver the events to the attached 
            appenders. See <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> for the
            conditions that cause the buffer to be sent.
            </para>
            <para>The forwarding appender can be used to specify different 
            thresholds and filters for the same appender at different locations 
            within the hierarchy.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Appender.BufferingAppenderSkeleton">
            <summary>
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that 
            buffers events in a fixed size buffer.
            </summary>
            <remarks>
            <para>
            This base class should be used by appenders that need to buffer a 
            number of events before logging them. For example the <see cref="T:log4net.Appender.AdoNetAppender"/> 
            buffers events and then submits the entire contents of the buffer to 
            the underlying database in one go.
            </para>
            <para>
            Subclasses should override the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>
            method to deliver the buffered events.
            </para>
            <para>The BufferingAppenderSkeleton maintains a fixed size cyclic 
            buffer of events. The size of the buffer is set using 
            the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
            </para>
            <para>A <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> is used to inspect 
            each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> 
            triggers, then the current buffer is sent immediately 
            (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>). Otherwise the event 
            is stored in the buffer. For example, an evaluator can be used to 
            deliver the events immediately when an ERROR event arrives.
            </para>
            <para>
            The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode. 
            By default the appender is NOT lossy. When the buffer is full all 
            the buffered events are sent with <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the 
            buffer will not be sent when it is full, and new events arriving 
            in the appender will overwrite the oldest event in the buffer. 
            In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
            triggers. This can be useful behavior when you need to know about 
            ERROR events but not about events with a lower level, configure an 
            evaluator that will trigger when an ERROR event arrives, the whole 
            buffer will be sent which gives a history of events leading up to
            the ERROR event.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
            <summary>
            The default buffer size.
            </summary>
            <remarks>
            The default size of the cyclic buffer used to store events.
            This is set to 512 by default.
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
            </summary>
            <remarks>
            <para>
            Protected default constructor to allow subclassing.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
            </summary>
            <param name="eventMustBeFixed">the events passed through this appender must be
            fixed by the time that they arrive in the derived class' <c>SendBuffer</c> method.</param>
            <remarks>
            <para>
            Protected constructor to allow subclassing.
            </para>
            <para>
            The <paramref name="eventMustBeFixed"/> should be set if the subclass
            expects the events delivered to be fixed even if the 
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to zero, i.e. when no buffering occurs.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
            <summary>
            Flush the currently buffered events
            </summary>
            <remarks>
            <para>
            Flushes any events that have been buffered.
            </para>
            <para>
            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
            of the buffer will NOT be flushed to the appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
            <summary>
            Flush the currently buffered events
            </summary>
            <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
            <remarks>
            <para>
            Flushes events that have been buffered. If <paramref name="flushLossyBuffer"/> is
            <c>false</c> then events will only be flushed if this buffer is non-lossy mode.
            </para>
            <para>
            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
            of the buffer will only be flushed if <paramref name="flushLossyBuffer"/> is <c>true</c>.
            In this case the contents of the buffer will be tested against the 
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator"/> and if triggering will be output. All other buffered
            events will be discarded.
            </para>
            <para>
            If <paramref name="flushLossyBuffer"/> is <c>true</c> then the buffer will always
            be emptied by calling this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
            <summary>
            Close this appender instance.
            </summary>
            <remarks>
            <para>
            Close this appender instance. If this appender is marked
            as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in 
            the buffer must be sent when the appender is closed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>
            Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
            </para>
            <para>
            The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/> 
            method) if one of the following conditions is met:
            </para>
            <list type="bullet">
            	<item>
            		<description>The cyclic buffer is full and this appender is
            		marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
            	</item>
            	<item>
            		<description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
            		it is triggered for the <paramref name="loggingEvent"/>
            		specified.</description>
            	</item>
            </list>
            <para>
            Before the event is stored in the buffer it is fixed
            (see <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/>) to ensure that
            any data referenced by the event will be valid when the buffer
            is processed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
            <summary>
            Sends the contents of the buffer.
            </summary>
            <param name="firstLoggingEvent">The first logging event.</param>
            <param name="buffer">The buffer containing the events that need to be send.</param>
            <remarks>
            <para>
            The subclass must override <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Sends the events.
            </summary>
            <param name="events">The events that need to be send.</param>
            <remarks>
            <para>
            The subclass must override this method to process the buffered events.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
            <summary>
            The size of the cyclic buffer used to hold the logging events.
            </summary>
            <remarks>
            Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
            <summary>
            The cyclic buffer used to store the logging events.
            </summary>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
            <summary>
            The triggering event evaluator that causes the buffer to be sent immediately.
            </summary>
            <remarks>
            The object that is used to determine if an event causes the entire
            buffer to be sent immediately. This field can be <c>null</c>, which 
            indicates that event triggering is not to be done. The evaluator
            can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
            has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to 
            <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
            <summary>
            Indicates if the appender should overwrite events in the cyclic buffer 
            when it becomes full, or if the buffer should be flushed when the 
            buffer is full.
            </summary>
            <remarks>
            If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must 
            be set.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
            <summary>
            The triggering event evaluator filters discarded events.
            </summary>
            <remarks>
            The object that is used to determine if an event that is discarded should
            really be discarded or if it should be sent to the appenders. 
            This field can be <c>null</c>, which indicates that all discarded events will
            be discarded. 
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
            <summary>
            Value indicating which fields in the event should be fixed
            </summary>
            <remarks>
            By default all fields are fixed
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
            <summary>
            The events delivered to the subclass must be fixed.
            </summary>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
            <summary>
            Gets or sets a value that indicates whether the appender is lossy.
            </summary>
            <value>
            <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            This appender uses a buffer to store logging events before 
            delivering them. A triggering event causes the whole buffer
            to be send to the remote sink. If the buffer overruns before
            a triggering event then logging events could be lost. Set
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> to <c>false</c> to prevent logging events 
            from being lost.
            </para>
            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
            <summary>
            Gets or sets the size of the cyclic buffer used to hold the 
            logging events.
            </summary>
            <value>
            The size of the cyclic buffer used to hold the logging events.
            </value>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option takes a positive integer
            representing the maximum number of logging events to collect in 
            a cyclic buffer. When the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is reached,
            oldest events are deleted as new events are added to the
            buffer. By default the size of the cyclic buffer is 512 events.
            </para>
            <para>
            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to a value less than
            or equal to 1 then no buffering will occur. The logging event
            will be delivered synchronously (depending on the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>
            and <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> properties). Otherwise the event will
            be buffered.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
            <summary>
            Gets or sets the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the 
            buffer to be sent immediately.
            </summary>
            <value>
            The <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the buffer to be
            sent immediately.
            </value>
            <remarks>
            <para>
            The evaluator will be called for each event that is appended to this 
            appender. If the evaluator triggers then the current buffer will 
            immediately be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>).
            </para>
            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
            <summary>
            Gets or sets the value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
            </summary>
            <value>
            The value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
            </value>
            <remarks>
            <para>
            The evaluator will be called for each event that is discarded from this 
            appender. If the evaluator triggers then the current buffer will immediately 
            be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
            <summary>
            Gets or sets a value indicating if only part of the logging event data
            should be fixed.
            </summary>
            <value>
            <c>true</c> if the appender should only fix part of the logging event 
            data, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            Setting this property to <c>true</c> will cause only part of the
            event data to be fixed and serialized. This will improve performance.
            </para>
            <para>
            See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
            <summary>
            Gets or sets a the fields that will be fixed in the event
            </summary>
            <value>
            The event fields that will be fixed before the event is buffered
            </value>
            <remarks>
            <para>
            The logging event needs to have certain thread specific values 
            captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
            for details.
            </para>
            </remarks>
            <seealso cref="P:log4net.Core.LoggingEvent.Fix"/>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingForwardingAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.OnClose">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Send the events.
            </summary>
            <param name="events">The events that need to be send.</param>
            <remarks>
            <para>
            Forwards the events to the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
            instance.
            </summary>
            <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
            <remarks>
            <para>
            If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.GetAppender(System.String)">
            <summary>
            Looks for the appender with the specified name.
            </summary>
            <param name="name">The name of the appender to lookup.</param>
            <returns>
            The appender with the specified name, or <c>null</c>.
            </returns>
            <remarks>
            <para>
            Get the named appender attached to this buffering appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAllAppenders">
            <summary>
            Removes all previously added appenders from this appender.
            </summary>
            <remarks>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingForwardingAppender.m_appenderAttachedImpl">
            <summary>
            Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="P:log4net.Appender.BufferingForwardingAppender.Appenders">
            <summary>
            Gets the appenders contained in this appender as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/> 
            is returned.
            </remarks>
            <returns>
            A collection of the appenders in this appender.
            </returns>
        </member>
        <member name="T:log4net.Appender.AdoNetAppender">
            <summary>
            Appender that logs to a database.
            </summary>
            <remarks>
            <para>
            <see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
            database. The appender can be configured to specify the connection 
            string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property. 
            The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
            property. For more information on database connection strings for
            your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
            </para>
            <para>
            Records are written into the database either using a prepared
            statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
            is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
            or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
            procedure.
            </para>
            <para>
            The prepared statement text or the name of the stored procedure
            must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
            </para>
            <para>
            The prepared statement or stored procedure can take a number
            of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
            method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
            ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
            type may be subclassed if required to provide database specific
            functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
            the parameter name, database type, size, and how the value should
            be generated using a <see cref="T:log4net.Layout.ILayout"/>.
            </para>
            </remarks>
            <example>
            An example of a SQL Server table that could be logged to:
            <code lang="SQL">
            CREATE TABLE [dbo].[Log] ( 
              [ID] [int] IDENTITY (1, 1) NOT NULL ,
              [Date] [datetime] NOT NULL ,
              [Thread] [varchar] (255) NOT NULL ,
              [Level] [varchar] (20) NOT NULL ,
              [Logger] [varchar] (255) NOT NULL ,
              [Message] [varchar] (4000) NOT NULL 
            ) ON [PRIMARY]
            </code>
            </example>
            <example>
            An example configuration to log to the above table:
            <code lang="XML" escaped="true">
            <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
              <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
              <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa"/>
              <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
              <parameter>
                <parameterName value="@log_date"/>
                <dbType value="DateTime"/>
                <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
              </parameter>
              <parameter>
                <parameterName value="@thread"/>
                <dbType value="String"/>
                <size value="255"/>
                <layout type="log4net.Layout.PatternLayout" value="%thread"/>
              </parameter>
              <parameter>
                <parameterName value="@log_level"/>
                <dbType value="String"/>
                <size value="50"/>
                <layout type="log4net.Layout.PatternLayout" value="%level"/>
              </parameter>
              <parameter>
                <parameterName value="@logger"/>
                <dbType value="String"/>
                <size value="255"/>
                <layout type="log4net.Layout.PatternLayout" value="%logger"/>
              </parameter>
              <parameter>
                <parameterName value="@message"/>
                <dbType value="String"/>
                <size value="4000"/>
                <layout type="log4net.Layout.PatternLayout" value="%message"/>
              </parameter>
            </appender>
            </code>
            </example>
            <author>Julian Biddle</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Lance Nehring</author>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.#ctor">
            <summary> 
            Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppender"/> class.
            </summary>
            <remarks>
            Public default constructor to initialize a new instance of this class.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.OnClose">
            <summary>
            Override the parent method to close the database
            </summary>
            <remarks>
            <para>
            Closes the database command and database connection.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Inserts the events into the database.
            </summary>
            <param name="events">The events to insert into the database.</param>
            <remarks>
            <para>
            Insert all the events specified in the <paramref name="events"/>
            array into the database.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)">
            <summary>
            Adds a parameter to the command.
            </summary>
            <param name="parameter">The parameter to add to the command.</param>
            <remarks>
            <para>
            Adds a parameter to the ordered list of command parameters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(System.Data.IDbTransaction,log4net.Core.LoggingEvent[])">
            <summary>
            Writes the events to the database using the transaction specified.
            </summary>
            <param name="dbTran">The transaction that the events will be executed under.</param>
            <param name="events">The array of events to insert into the database.</param>
            <remarks>
            <para>
            The transaction argument can be <c>null</c> if the appender has been
            configured not to use transactions. See <see cref="P:log4net.Appender.AdoNetAppender.UseTransactions"/>
            property for more information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.GetLogStatement(log4net.Core.LoggingEvent)">
            <summary>
            Formats the log message into database statement text.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            This method can be overridden by subclasses to provide 
            more control over the format of the database statement.
            </remarks>
            <returns>
            Text that can be passed to a <see cref="T:System.Data.IDbCommand"/>.
            </returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.CreateConnection(System.Type,System.String)">
            <summary>
            Creates an <see cref="T:System.Data.IDbConnection"/> instance used to connect to the database.
            </summary>
            <remarks>
            This method is called whenever a new IDbConnection is needed (i.e. when a reconnect is necessary).
            </remarks>
            <param name="connectionType">The <see cref="T:System.Type"/> of the <see cref="T:System.Data.IDbConnection"/> object.</param>
            <param name="connectionString">The connectionString output from the ResolveConnectionString method.</param>
            <returns>An <see cref="T:System.Data.IDbConnection"/> instance with a valid connection string.</returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionString(System.String@)">
            <summary>
            Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey
            property.
            </summary>
            <remarks>
            ConnectiongStringName is only supported on .NET 2.0 and higher.
            </remarks>
            <param name="connectionStringContext">Additional information describing the connection string.</param>
            <returns>A connection string used to connect to the database.</returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionType">
            <summary>
            Retrieves the class type of the ADO.NET provider.
            </summary>
            <remarks>
            <para>
            Gets the Type of the ADO.NET provider to use to connect to the
            database. This method resolves the type specified in the 
            <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> property.
            </para>
            <para>
            Subclasses can override this method to return a different type
            if necessary.
            </para>
            </remarks>
            <returns>The <see cref="T:System.Type"/> of the ADO.NET provider</returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseCommand">
            <summary>
            Prepares the database command and initialize the parameters.
            </summary>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseConnection">
            <summary>
            Connects to the database.
            </summary>		
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.DisposeCommand(System.Boolean)">
            <summary>
            Cleanup the existing command.
            </summary>
            <param name="ignoreException">
            If true, a message will be written using LogLog.Warn if an exception is encountered when calling Dispose.
            </param>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.DiposeConnection">
            <summary>
            Cleanup the existing connection.
            </summary>
            <remarks>
            Calls the IDbConnection's <see cref="M:System.Data.IDbConnection.Close"/> method.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_usePreparedCommand">
            <summary>
            Flag to indicate if we are using a command object
            </summary>
            <remarks>
            <para>
            Set to <c>true</c> when the appender is to use a prepared
            statement or stored procedure to insert into the database.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_parameters">
            <summary>
            The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
            </summary>
            <remarks>
            <para>
            The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_dbConnection">
            <summary>
            The <see cref="T:System.Data.IDbConnection"/> that will be used
            to insert logging events into a database.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_dbCommand">
            <summary>
            The database command.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_connectionString">
            <summary>
            Database connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_appSettingsKey">
            <summary>
            The appSettings key from App.Config that contains the connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_connectionStringName">
            <summary>
            The connectionStrings key from App.Config that contains the connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_connectionType">
            <summary>
            String type name of the <see cref="T:System.Data.IDbConnection"/> type name.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_commandText">
            <summary>
            The text of the command.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_commandType">
            <summary>
            The command type.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_useTransactions">
            <summary>
            Indicates whether to use transactions when writing to the database.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_reconnectOnError">
            <summary>
            Indicates whether to use transactions when writing to the database.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.declaringType">
            <summary>
            The fully qualified type of the AdoNetAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ConnectionString">
            <summary>
            Gets or sets the database connection string that is used to connect to 
            the database.
            </summary>
            <value>
            The database connection string used to connect to the database.
            </value>
            <remarks>
            <para>
            The connections string is specific to the connection type.
            See <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> for more information.
            </para>
            </remarks>
            <example>Connection string for MS Access via ODBC:
            <code>"DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"</code>
            </example>
            <example>Another connection string for MS Access via ODBC:
            <code>"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"</code>
            </example>
            <example>Connection string for MS Access via OLE DB:
            <code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"</code>
            </example>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.AppSettingsKey">
            <summary>
            The appSettings key from App.Config that contains the connection string.
            </summary>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ConnectionStringName">
            <summary>
            The connectionStrings key from App.Config that contains the connection string.
            </summary>
            <remarks>
            This property requires at least .NET 2.0.
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ConnectionType">
            <summary>
            Gets or sets the type name of the <see cref="T:System.Data.IDbConnection"/> connection
            that should be created.
            </summary>
            <value>
            The type name of the <see cref="T:System.Data.IDbConnection"/> connection.
            </value>
            <remarks>
            <para>
            The type name of the ADO.NET provider to use.
            </para>
            <para>
            The default is to use the OLE DB provider.
            </para>
            </remarks>
            <example>Use the OLE DB Provider. This is the default value.
            <code>System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            </example>
            <example>Use the MS SQL Server Provider. 
            <code>System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            </example>
            <example>Use the ODBC Provider. 
            <code>Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral</code>
            This is an optional package that you can download from 
            <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
            search for <b>ODBC .NET Data Provider</b>.
            </example>
            <example>Use the Oracle Provider. 
            <code>System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            This is an optional package that you can download from 
            <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
            search for <b>.NET Managed Provider for Oracle</b>.
            </example>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.CommandText">
            <summary>
            Gets or sets the command text that is used to insert logging events
            into the database.
            </summary>
            <value>
            The command text used to insert logging events into the database.
            </value>
            <remarks>
            <para>
            Either the text of the prepared statement or the
            name of the stored procedure to execute to write into
            the database.
            </para>
            <para>
            The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property determines if
            this text is a prepared statement or a stored procedure.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.CommandType">
            <summary>
            Gets or sets the command type to execute.
            </summary>
            <value>
            The command type to execute.
            </value>
            <remarks>
            <para>
            This value may be either <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify
            that the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> is a prepared statement to execute, 
            or <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify that the
            <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property is the name of a stored procedure
            to execute.
            </para>
            <para>
            The default value is <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.UseTransactions">
            <summary>
            Should transactions be used to insert logging events in the database.
            </summary>
            <value>
            <c>true</c> if transactions should be used to insert logging events in
            the database, otherwise <c>false</c>. The default value is <c>true</c>.
            </value>
            <remarks>
            <para>
            Gets or sets a value that indicates whether transactions should be used
            to insert logging events in the database.
            </para>
            <para>
            When set a single transaction will be used to insert the buffered events
            into the database. Otherwise each event will be inserted without using
            an explicit transaction.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ReconnectOnError">
            <summary>
            Should this appender try to reconnect to the database on error.
            </summary>
            <value>
            <c>true</c> if the appender should try to reconnect to the database after an
            error has occurred, otherwise <c>false</c>. The default value is <c>false</c>, 
            i.e. not to try to reconnect.
            </value>
            <remarks>
            <para>
            The default behaviour is for the appender not to try to reconnect to the
            database if an error occurs. Subsequent logging events are discarded.
            </para>
            <para>
            To force the appender to attempt to reconnect to the database set this
            property to <c>true</c>.
            </para>
            <note>
            When the appender attempts to connect to the database there may be a
            delay of up to the connection timeout specified in the connection string.
            This delay will block the calling application's thread. 
            Until the connection can be reestablished this potential delay may occur multiple times.
            </note>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.Connection">
            <summary>
            Gets or sets the underlying <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.Data.IDbConnection"/>.
            </value>
            <remarks>
            <see cref="T:log4net.Appender.AdoNetAppender"/> creates a <see cref="T:System.Data.IDbConnection"/> to insert 
            logging events into a database.  Classes deriving from <see cref="T:log4net.Appender.AdoNetAppender"/> 
            can use this property to get or set this <see cref="T:System.Data.IDbConnection"/>.  Use the 
            underlying <see cref="T:System.Data.IDbConnection"/> returned from <see cref="P:log4net.Appender.AdoNetAppender.Connection"/> if 
            you require access beyond that which <see cref="T:log4net.Appender.AdoNetAppender"/> provides.
            </remarks>
        </member>
        <member name="T:log4net.Appender.AdoNetAppenderParameter">
            <summary>
            Parameter type used by the <see cref="T:log4net.Appender.AdoNetAppender"/>.
            </summary>
            <remarks>
            <para>
            This class provides the basic database parameter properties
            as defined by the <see cref="T:System.Data.IDbDataParameter"/> interface.
            </para>
            <para>This type can be subclassed to provide database specific
            functionality. The two methods that are called externally are
            <see cref="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)"/> and <see cref="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppenderParameter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> class.
            </summary>
            <remarks>
            Default constructor for the AdoNetAppenderParameter class.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)">
            <summary>
            Prepare the specified database command object.
            </summary>
            <param name="command">The command to prepare.</param>
            <remarks>
            <para>
            Prepares the database command object by adding
            this parameter to its collection of parameters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)">
            <summary>
            Renders the logging event and set the parameter value in the command.
            </summary>
            <param name="command">The command containing the parameter.</param>
            <param name="loggingEvent">The event to be rendered.</param>
            <remarks>
            <para>
            Renders the logging event using this parameters layout
            object. Sets the value of the parameter on the command object.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_parameterName">
            <summary>
            The name of this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_dbType">
            <summary>
            The database type for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_inferType">
            <summary>
            Flag to infer type rather than use the DbType
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_precision">
            <summary>
            The precision for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_scale">
            <summary>
            The scale for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_size">
            <summary>
            The size for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_layout">
            <summary>
            The <see cref="T:log4net.Layout.IRawLayout"/> to use to render the
            logging event into an object for this parameter.
            </summary>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.ParameterName">
            <summary>
            Gets or sets the name of this parameter.
            </summary>
            <value>
            The name of this parameter.
            </value>
            <remarks>
            <para>
            The name of this parameter. The parameter name
            must match up to a named parameter to the SQL stored procedure
            or prepared statement.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.DbType">
            <summary>
            Gets or sets the database type for this parameter.
            </summary>
            <value>
            The database type for this parameter.
            </value>
            <remarks>
            <para>
            The database type for this parameter. This property should
            be set to the database type from the <see cref="P:log4net.Appender.AdoNetAppenderParameter.DbType"/>
            enumeration. See <see cref="P:System.Data.IDataParameter.DbType"/>.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the type from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDataParameter.DbType"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Precision">
            <summary>
            Gets or sets the precision for this parameter.
            </summary>
            <value>
            The precision for this parameter.
            </value>
            <remarks>
            <para>
            The maximum number of digits used to represent the Value.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the precision from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDbDataParameter.Precision"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Scale">
            <summary>
            Gets or sets the scale for this parameter.
            </summary>
            <value>
            The scale for this parameter.
            </value>
            <remarks>
            <para>
            The number of decimal places to which Value is resolved.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the scale from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDbDataParameter.Scale"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Size">
            <summary>
            Gets or sets the size for this parameter.
            </summary>
            <value>
            The size for this parameter.
            </value>
            <remarks>
            <para>
            The maximum size, in bytes, of the data within the column.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the size from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDbDataParameter.Size"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Layout">
            <summary>
            Gets or sets the <see cref="T:log4net.Layout.IRawLayout"/> to use to 
            render the logging event into an object for this 
            parameter.
            </summary>
            <value>
            The <see cref="T:log4net.Layout.IRawLayout"/> used to render the
            logging event into an object for this parameter.
            </value>
            <remarks>
            <para>
            The <see cref="T:log4net.Layout.IRawLayout"/> that renders the value for this
            parameter.
            </para>
            <para>
            The <see cref="T:log4net.Layout.RawLayoutConverter"/> can be used to adapt
            any <see cref="T:log4net.Layout.ILayout"/> into a <see cref="T:log4net.Layout.IRawLayout"/>
            for use in the property.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.TextWriterAdapter">
            <summary>
            Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
            messages to an instance of <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
            messages to an instance of <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.TextWriterAdapter.m_writer">
            <summary>
            The writer to forward messages to
            </summary>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.#ctor(System.IO.TextWriter)">
            <summary>
            Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
            messages to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to forward to</param>
            <remarks>
            <para>
            Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
            messages to a <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Close">
            <summary>
            Closes the writer and releases any system resources associated with the writer
            </summary>
            <remarks>
            <para>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Dispose(System.Boolean)">
            <summary>
            Dispose this writer
            </summary>
            <param name="disposing">flag indicating if we are being disposed</param>
            <remarks>
            <para>
            Dispose this writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Flush">
            <summary>
            Flushes any buffered output
            </summary>
            <remarks>
            <para>
            Clears all buffers for the writer and causes any buffered data to be written 
            to the underlying device
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char)">
            <summary>
            Writes a character to the wrapped TextWriter
            </summary>
            <param name="value">the value to write to the TextWriter</param>
            <remarks>
            <para>
            Writes a character to the wrapped TextWriter
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char[],System.Int32,System.Int32)">
            <summary>
            Writes a character buffer to the wrapped TextWriter
            </summary>
            <param name="buffer">the data buffer</param>
            <param name="index">the start index</param>
            <param name="count">the number of characters to write</param>
            <remarks>
            <para>
            Writes a character buffer to the wrapped TextWriter
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Write(System.String)">
            <summary>
            Writes a string to the wrapped TextWriter
            </summary>
            <param name="value">the value to write to the TextWriter</param>
            <remarks>
            <para>
            Writes a string to the wrapped TextWriter
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.Writer">
            <summary>
            Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.IO.TextWriter"/>.
            </value>
            <remarks>
            <para>
            Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.Encoding">
            <summary>
            The Encoding in which the output is written
            </summary>
            <value>
            The <see cref="P:log4net.Util.TextWriterAdapter.Encoding"/>
            </value>
            <remarks>
            <para>
            The Encoding in which the output is written
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.FormatProvider">
            <summary>
            Gets an object that controls formatting
            </summary>
            <value>
            The format provider
            </value>
            <remarks>
            <para>
            Gets an object that controls formatting
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.NewLine">
            <summary>
            Gets or sets the line terminator string used by the TextWriter
            </summary>
            <value>
            The line terminator to use
            </value>
            <remarks>
            <para>
            Gets or sets the line terminator string used by the TextWriter
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ProtectCloseTextWriter">
            <summary>
            A <see cref="T:System.IO.TextWriter"/> that ignores the <see cref="M:log4net.Util.ProtectCloseTextWriter.Close"/> message
            </summary>
            <remarks>
            <para>
            This writer is used in special cases where it is necessary 
            to protect a writer from being closed by a client.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ProtectCloseTextWriter.#ctor(System.IO.TextWriter)">
            <summary>
            Constructor
            </summary>
            <param name="writer">the writer to actually write to</param>
            <remarks>
            <para>
            Create a new ProtectCloseTextWriter using a writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ProtectCloseTextWriter.Attach(System.IO.TextWriter)">
            <summary>
            Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to attach to</param>
            <remarks>
            <para>
            Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ProtectCloseTextWriter.Close">
            <summary>
            Does not close the underlying output writer.
            </summary>
            <remarks>
            <para>
            Does not close the underlying output writer.
            This method does nothing.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PropertyEntry">
            <summary>
            A class to hold the key and data for a property set in the config file
            </summary>
            <remarks>
            <para>
            A class to hold the key and data for a property set in the config file
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertyEntry.ToString">
            <summary>
            Override <c>Object.ToString</c> to return sensible debug info
            </summary>
            <returns>string info about this object</returns>
        </member>
        <member name="P:log4net.Util.PropertyEntry.Key">
            <summary>
            Property Key
            </summary>
            <value>
            Property Key
            </value>
            <remarks>
            <para>
            Property Key.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PropertyEntry.Value">
            <summary>
            Property Value
            </summary>
            <value>
            Property Value
            </value>
            <remarks>
            <para>
            Property Value.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.LiteralPatternConverter">
            <summary>
            Pattern converter for literal string instances in the pattern
            </summary>
            <remarks>
            <para>
            Writes the literal string value specified in the 
            <see cref="P:log4net.Util.PatternConverter.Option"/> property to 
            the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.SetNext(log4net.Util.PatternConverter)">
            <summary>
            Set the next converter in the chain
            </summary>
            <param name="pc">The next pattern converter in the chain</param>
            <returns>The next pattern converter</returns>
            <remarks>
            <para>
            Special case the building of the pattern converter chain
            for <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> instances. Two adjacent
            literals in the pattern can be represented by a single combined
            pattern converter. This implementation detects when a 
            <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> is added to the chain
            after this converter and combines its value with this converter's
            literal value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Format(System.IO.TextWriter,System.Object)">
            <summary>
            Write the literal to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, not set</param>
            <remarks>
            <para>
            Override the formatting behavior to ignore the FormattingInfo
            because we have a literal instead.
            </para>
            <para>
            Writes the value of <see cref="P:log4net.Util.PatternConverter.Option"/>
            to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Convert this pattern into the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, not set</param>
            <remarks>
            <para>
            This method is not used.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LogReceivedEventHandler">
            <summary>
            
            </summary>
            <param name="source"></param>
            <param name="e"></param>
        </member>
        <member name="T:log4net.Util.LogLog">
            <summary>
            Outputs log statements from within the log4net assembly.
            </summary>
            <remarks>
            <para>
            Log4net components cannot make log4net logging calls. However, it is
            sometimes useful for the user to learn about what log4net is
            doing.
            </para>
            <para>
            All log4net internal debug calls go to the standard output stream
            whereas internal error messages are sent to the standard error output 
            stream.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.LogLog.ToString">
            <summary>
            Formats Prefix, Source, and Message in the same format as the value
            sent to Console.Out and Trace.Write.
            </summary>
            <returns></returns>
        </member>
        <member name="M:log4net.Util.LogLog.#ctor(System.Type,System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.LogLog"/> class. 
            </summary>
            <param name="source"></param>
            <param name="prefix"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="M:log4net.Util.LogLog.#cctor">
            <summary>
            Static constructor that initializes logging by reading 
            settings from the application configuration file.
            </summary>
            <remarks>
            <para>
            The <c>log4net.Internal.Debug</c> application setting
            controls internal debugging. This setting should be set
            to <c>true</c> to enable debugging.
            </para>
            <para>
            The <c>log4net.Internal.Quiet</c> application setting
            suppresses all internal logging including error messages. 
            This setting should be set to <c>true</c> to enable message
            suppression.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.OnLogReceived(System.Type,System.String,System.String,System.Exception)">
            <summary>
            Raises the LogReceived event when an internal messages is received.
            </summary>
            <param name="source"></param>
            <param name="prefix"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="M:log4net.Util.LogLog.Debug(System.Type,System.String)">
            <summary>
            Writes log4net internal debug messages to the 
            standard output stream.
            </summary>
            <param name="source"></param>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net: ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Debug(System.Type,System.String,System.Exception)">
            <summary>
            Writes log4net internal debug messages to the 
            standard output stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <param name="exception">An exception to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net: ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Warn(System.Type,System.String)">
            <summary>
            Writes log4net internal warning messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            All internal warning messages are prepended with 
            the string "log4net:WARN ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Warn(System.Type,System.String,System.Exception)">
            <summary>
            Writes log4net internal warning messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <param name="exception">An exception to log.</param>
            <remarks>
            <para>
            All internal warning messages are prepended with 
            the string "log4net:WARN ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Error(System.Type,System.String)">
            <summary>
            Writes log4net internal error messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            All internal error messages are prepended with 
            the string "log4net:ERROR ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Error(System.Type,System.String,System.Exception)">
            <summary>
            Writes log4net internal error messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <param name="exception">An exception to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net:ERROR ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.EmitOutLine(System.String)">
            <summary>
            Writes output to the standard output stream.  
            </summary>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            Writes to both Console.Out and System.Diagnostics.Trace.
            Note that the System.Diagnostics.Trace is not supported
            on the Compact Framework.
            </para>
            <para>
            If the AppDomain is not configured with a config file then
            the call to System.Diagnostics.Trace may fail. This is only
            an issue if you are programmatically creating your own AppDomains.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.EmitErrorLine(System.String)">
            <summary>
            Writes output to the standard error stream.  
            </summary>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            Writes to both Console.Error and System.Diagnostics.Trace.
            Note that the System.Diagnostics.Trace is not supported
            on the Compact Framework.
            </para>
            <para>
            If the AppDomain is not configured with a config file then
            the call to System.Diagnostics.Trace may fail. This is only
            an issue if you are programmatically creating your own AppDomains.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.LogLog.s_debugEnabled">
            <summary>
             Default debug level
            </summary>
        </member>
        <member name="F:log4net.Util.LogLog.s_quietMode">
            <summary>
            In quietMode not even errors generate any output.
            </summary>
        </member>
        <member name="E:log4net.Util.LogLog.LogReceived">
            <summary>
            The event raised when an internal message has been received.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.Source">
            <summary>
            The Type that generated the internal message.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.TimeStamp">
            <summary>
            The DateTime stamp of when the internal message was received.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.Prefix">
            <summary>
            A string indicating the severity of the internal message.
            </summary>
            <remarks>
            "log4net: ", 
            "log4net:ERROR ", 
            "log4net:WARN "
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.Message">
            <summary>
            The internal log message.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.Exception">
            <summary>
            The Exception related to the message.
            </summary>
            <remarks>
            Optional. Will be null if no Exception was passed.
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.InternalDebugging">
            <summary>
            Gets or sets a value indicating whether log4net internal logging
            is enabled or disabled.
            </summary>
            <value>
            <c>true</c> if log4net internal logging is enabled, otherwise 
            <c>false</c>.
            </value>
            <remarks>
            <para>
            When set to <c>true</c>, internal debug level logging will be 
            displayed.
            </para>
            <para>
            This value can be set by setting the application setting 
            <c>log4net.Internal.Debug</c> in the application configuration
            file.
            </para>
            <para>
            The default value is <c>false</c>, i.e. debugging is
            disabled.
            </para>
            </remarks>
            <example>
            <para>
            The following example enables internal debugging using the 
            application configuration file :
            </para>
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net.Internal.Debug" value="true" />
            	</appSettings>
            </configuration>
            </code>
            </example>
        </member>
        <member name="P:log4net.Util.LogLog.QuietMode">
            <summary>
            Gets or sets a value indicating whether log4net should generate no output
            from internal logging, not even for errors. 
            </summary>
            <value>
            <c>true</c> if log4net should generate no output at all from internal 
            logging, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            When set to <c>true</c> will cause internal logging at all levels to be 
            suppressed. This means that no warning or error reports will be logged. 
            This option overrides the <see cref="P:log4net.Util.LogLog.InternalDebugging"/> setting and 
            disables all debug also.
            </para>
            <para>This value can be set by setting the application setting
            <c>log4net.Internal.Quiet</c> in the application configuration file.
            </para>
            <para>
            The default value is <c>false</c>, i.e. internal logging is not
            disabled.
            </para>
            </remarks>
            <example>
            The following example disables internal logging using the 
            application configuration file :
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net.Internal.Quiet" value="true"/>
            	</appSettings>
            </configuration>
            </code>
            </example>
        </member>
        <member name="P:log4net.Util.LogLog.EmitInternalMessages">
            <summary>
            
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.IsDebugEnabled">
            <summary>
            Test if LogLog.Debug is enabled for output.
            </summary>
            <value>
            <c>true</c> if Debug is enabled
            </value>
            <remarks>
            <para>
            Test if LogLog.Debug is enabled for output.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.IsWarnEnabled">
            <summary>
            Test if LogLog.Warn is enabled for output.
            </summary>
            <value>
            <c>true</c> if Warn is enabled
            </value>
            <remarks>
            <para>
            Test if LogLog.Warn is enabled for output.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.IsErrorEnabled">
            <summary>
            Test if LogLog.Error is enabled for output.
            </summary>
            <value>
            <c>true</c> if Error is enabled
            </value>
            <remarks>
            <para>
            Test if LogLog.Error is enabled for output.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LogLog.LogReceivedAdapter">
            <summary>
            Subscribes to the LogLog.LogReceived event and stores messages
            to the supplied IList instance.
            </summary>
        </member>
        <member name="M:log4net.Util.LogLog.LogReceivedAdapter.#ctor(System.Collections.IList)">
            <summary>
            
            </summary>
            <param name="items"></param>
        </member>
        <member name="M:log4net.Util.LogLog.LogReceivedAdapter.Dispose">
            <summary>
            
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.LogReceivedAdapter.Items">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Util.LogReceivedEventArgs">
            <summary>
            
            </summary>
        </member>
        <member name="M:log4net.Util.LogReceivedEventArgs.#ctor(log4net.Util.LogLog)">
            <summary>
            
            </summary>
            <param name="loglog"></param>
        </member>
        <member name="P:log4net.Util.LogReceivedEventArgs.LogLog">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Util.GlobalContextProperties">
            <summary>
            Implementation of Properties collection for the <see cref="T:log4net.GlobalContext"/>
            </summary>
            <remarks>
            <para>
            This class implements a properties collection that is thread safe and supports both
            storing properties and capturing a read only copy of the current propertied.
            </para>
            <para>
            This class is optimized to the scenario where the properties are read frequently
            and are modified infrequently.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Util.ContextPropertiesBase">
            <summary>
            Base class for Context Properties implementations
            </summary>
            <remarks>
            <para>
            This class defines a basic property get set accessor
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="P:log4net.Util.ContextPropertiesBase.Item(System.String)">
            <summary>
            Gets or sets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Gets or sets the value of a property
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.GlobalContextProperties.m_readOnlyProperties">
            <summary>
            The read only copy of the properties.
            </summary>
            <remarks>
            <para>
            This variable is declared <c>volatile</c> to prevent the compiler and JIT from
            reordering reads and writes of this thread performed on different threads.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.GlobalContextProperties.m_syncRoot">
            <summary>
            Lock object used to synchronize updates within this instance
            </summary>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.GlobalContextProperties"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.Remove(System.String)">
            <summary>
            Remove a property from the global context
            </summary>
            <param name="key">the key for the entry to remove</param>
            <remarks>
            <para>
            Removing an entry from the global context properties is relatively expensive compared
            with reading a value. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.Clear">
            <summary>
            Clear the global context properties
            </summary>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.GetReadOnlyProperties">
            <summary>
            Get a readonly immutable copy of the properties
            </summary>
            <returns>the current global context properties</returns>
            <remarks>
            <para>
            This implementation is fast because the GlobalContextProperties class
            stores a readonly copy of the properties.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.GlobalContextProperties.Item(System.String)">
            <summary>
            Gets or sets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Reading the value for a key is faster than setting the value.
            When the value is written a new read only copy of 
            the properties is created.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.CountingQuietTextWriter">
            <summary>
            Subclass of <see cref="T:log4net.Util.QuietTextWriter"/> that maintains a count of 
            the number of bytes written.
            </summary>
            <remarks>
            <para>
            This writer counts the number of bytes written.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.QuietTextWriter">
            <summary>
            <see cref="T:System.IO.TextWriter"/> that does not leak exceptions
            </summary>
            <remarks>
            <para>
            <see cref="T:log4net.Util.QuietTextWriter"/> does not throw exceptions when things go wrong. 
            Instead, it delegates error handling to its <see cref="T:log4net.Core.IErrorHandler"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
            <summary>
            Constructor
            </summary>
            <param name="writer">the writer to actually write to</param>
            <param name="errorHandler">the error handler to report error to</param>
            <remarks>
            <para>
            Create a new QuietTextWriter using a writer and error handler
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Write(System.Char)">
            <summary>
            Writes a character to the underlying writer
            </summary>
            <param name="value">the char to write</param>
            <remarks>
            <para>
            Writes a character to the underlying writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer to the underlying writer
            </summary>
            <param name="buffer">the buffer to write</param>
            <param name="index">the start index to write from</param>
            <param name="count">the number of characters to write</param>
            <remarks>
            <para>
            Writes a buffer to the underlying writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Write(System.String)">
            <summary>
            Writes a string to the output.
            </summary>
            <param name="value">The string data to write to the output.</param>
            <remarks>
            <para>
            Writes a string to the output.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Close">
            <summary>
            Closes the underlying output writer.
            </summary>
            <remarks>
            <para>
            Closes the underlying output writer.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.QuietTextWriter.m_errorHandler">
            <summary>
            The error handler instance to pass all errors to
            </summary>
        </member>
        <member name="F:log4net.Util.QuietTextWriter.m_closed">
            <summary>
            Flag to indicate if this writer is closed
            </summary>
        </member>
        <member name="P:log4net.Util.QuietTextWriter.ErrorHandler">
            <summary>
            Gets or sets the error handler that all errors are passed to.
            </summary>
            <value>
            The error handler that all errors are passed to.
            </value>
            <remarks>
            <para>
            Gets or sets the error handler that all errors are passed to.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.QuietTextWriter.Closed">
            <summary>
            Gets a value indicating whether this writer is closed.
            </summary>
            <value>
            <c>true</c> if this writer is closed, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            Gets a value indicating whether this writer is closed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
            <summary>
            Constructor
            </summary>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to actually write to.</param>
            <param name="errorHandler">The <see cref="T:log4net.Core.IErrorHandler"/> to report errors to.</param>
            <remarks>
            <para>
            Creates a new instance of the <see cref="T:log4net.Util.CountingQuietTextWriter"/> class 
            with the specified <see cref="T:System.IO.TextWriter"/> and <see cref="T:log4net.Core.IErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char)">
            <summary>
            Writes a character to the underlying writer and counts the number of bytes written.
            </summary>
            <param name="value">the char to write</param>
            <remarks>
            <para>
            Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
            the number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer to the underlying writer and counts the number of bytes written.
            </summary>
            <param name="buffer">the buffer to write</param>
            <param name="index">the start index to write from</param>
            <param name="count">the number of characters to write</param>
            <remarks>
            <para>
            Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
            the number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.String)">
            <summary>
            Writes a string to the output and counts the number of bytes written.
            </summary>
            <param name="str">The string data to write to the output.</param>
            <remarks>
            <para>
            Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
            the number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.CountingQuietTextWriter.m_countBytes">
            <summary>
            Total number of bytes written.
            </summary>
        </member>
        <member name="P:log4net.Util.CountingQuietTextWriter.Count">
            <summary>
            Gets or sets the total number of bytes written.
            </summary>
            <value>
            The total number of bytes written.
            </value>
            <remarks>
            <para>
            Gets or sets the total number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositorySkeleton">
            <summary>
            Base implementation of <see cref="T:log4net.Repository.ILoggerRepository"/>
            </summary>
            <remarks>
            <para>
            Default abstract implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            </para>
            <para>
            Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            All <see cref="T:log4net.Repository.ILoggerRepository"/> types can extend this type.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Repository.ILoggerRepository">
            <summary>
            Interface implemented by logger repositories.
            </summary>
            <remarks>
            <para>
            This interface is implemented by logger repositories. e.g. 
            <see cref="N:log4net.Repository.Hierarchy"/>.
            </para>
            <para>
            This interface is used by the <see cref="T:log4net.LogManager"/>
            to obtain <see cref="T:log4net.ILog"/> interfaces.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
            <summary>
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <c>null</c>.
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
            <remarks>
            <para>
            If the names logger exists it is returned, otherwise
            <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers as an Array.
            </summary>
            <returns>All the defined loggers</returns>
            <remarks>
            <para>
            Returns all the currently defined loggers as an Array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
            <summary>
            Returns a named logger instance
            </summary>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
            <remarks>
            <para>
            Returns a named logger instance.
            </para>
            <para>
            If a logger of that name already exists, then it will be
            returned.  Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
            <summary>Shutdown the repository</summary>
            <remarks>
            <para>
            Shutting down a repository will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.
            </para>
            <para>
            Some appenders need to be closed before the
            application exists. Otherwise, pending logging events might be
            lost.
            </para>
            <para>
            The <see cref="M:log4net.Repository.ILoggerRepository.Shutdown"/> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
            <summary>
            Reset the repositories configuration to a default state
            </summary>
            <remarks>
            <para>
            Reset all values contained in this instance to their
            default state.
            </para>
            <para>
            Existing loggers are not removed. They are just reset.
            </para>
            <para>
            This method should be used sparingly and with care as it will
            block all logging until it is completed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.Core.LoggingEvent)">
            <summary>
            Log the <see cref="T:log4net.Core.LoggingEvent"/> through this repository.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetAppenders">
            <summary>
            Returns all the Appenders that are configured as an Array.
            </summary>
            <returns>All the Appenders</returns>
            <remarks>
            <para>
            Returns all the Appenders that are configured as an Array.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Name">
            <summary>
            The name of the repository
            </summary>
            <value>
            The name of the repository
            </value>
            <remarks>
            <para>
            The name of the repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
            <summary>
            RendererMap accesses the object renderer map for this repository.
            </summary>
            <value>
            RendererMap accesses the object renderer map for this repository.
            </value>
            <remarks>
            <para>
            RendererMap accesses the object renderer map for this repository.
            </para>
            <para>
            The RendererMap holds a mapping between types and
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
            <summary>
            The plugin map for this repository.
            </summary>
            <value>
            The plugin map for this repository.
            </value>
            <remarks>
            <para>
            The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
            that have been attached to this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
            <summary>
            Get the level map for the Repository.
            </summary>
            <remarks>
            <para>
            Get the level map for the Repository.
            </para>
            <para>
            The level map defines the mappings between
            level names and <see cref="T:log4net.Core.Level"/> objects in
            this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Threshold">
            <summary>
            The threshold for all events in this repository
            </summary>
            <value>
            The threshold for all events in this repository
            </value>
            <remarks>
            <para>
            The threshold for all events in this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Configured">
            <summary>
            Flag indicates if this repository has been configured.
            </summary>
            <value>
            Flag indicates if this repository has been configured.
            </value>
            <remarks>
            <para>
            Flag indicates if this repository has been configured.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.ConfigurationMessages">
            <summary>
            Collection of internal messages captured during the most 
            recent configuration process.
            </summary>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
            <summary>
            Event to notify that the repository has been shutdown.
            </summary>
            <value>
            Event to notify that the repository has been shutdown.
            </value>
            <remarks>
            <para>
            Event raised when the repository has been shutdown.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationReset">
            <summary>
            Event to notify that the repository has had its configuration reset.
            </summary>
            <value>
            Event to notify that the repository has had its configuration reset.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been
            reset to default.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationChanged">
            <summary>
            Event to notify that the repository has had its configuration changed.
            </summary>
            <value>
            Event to notify that the repository has had its configuration changed.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been changed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Properties">
            <summary>
            Repository specific properties
            </summary>
            <value>
            Repository specific properties
            </value>
            <remarks>
            <para>
            These properties can be specified on a repository specific basis.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
            <summary>
            Default Constructor
            </summary>
            <remarks>
            <para>
            Initializes the repository with default (empty) properties.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.Util.PropertiesDictionary)">
            <summary>
            Construct the repository using specific properties
            </summary>
            <param name="properties">the properties to set for this repository</param>
            <remarks>
            <para>
            Initializes the repository with specified properties.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
            <summary>
            Test if logger exists
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
            <remarks>
            <para>
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers in the repository
            </summary>
            <returns>All the defined loggers</returns>
            <remarks>
            <para>
            Returns all the currently defined loggers in the repository as an Array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
            <summary>
            Return a new logger instance
            </summary>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
            <remarks>
            <para>
            Return a new logger instance.
            </para>
            <para>
            If a logger of that name already exists, then it will be
            returned. Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
            <summary>
            Shutdown the repository
            </summary>
            <remarks>
            <para>
            Shutdown the repository. Can be overridden in a subclass.
            This base class implementation notifies the <see cref="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent"/>
            listeners and all attached plugins of the shutdown event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
            <summary>
            Reset the repositories configuration to a default state
            </summary>
            <remarks>
            <para>
            Reset all values contained in this instance to their
            default state.
            </para>
            <para>
            Existing loggers are not removed. They are just reset.
            </para>
            <para>
            This method should be used sparingly and with care as it will
            block all logging until it is completed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.Core.LoggingEvent)">
            <summary>
            Log the logEvent through this repository.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetAppenders">
            <summary>
            Returns all the Appenders that are configured as an Array.
            </summary>
            <returns>All the Appenders</returns>
            <remarks>
            <para>
            Returns all the Appenders that are configured as an Array.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.LoggerRepositorySkeleton.declaringType">
            <summary>
            The fully qualified type of the LoggerRepositorySkeleton class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
            <summary>
            Adds an object renderer for a specific class. 
            </summary>
            <param name="typeToRender">The type that will be rendered by the renderer supplied.</param>
            <param name="rendererInstance">The object renderer used to render the object.</param>
            <remarks>
            <para>
            Adds an object renderer for a specific class. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnShutdown(System.EventArgs)">
            <summary>
            Notify the registered listeners that the repository is shutting down
            </summary>
            <param name="e">Empty EventArgs</param>
            <remarks>
            <para>
            Notify any listeners that this repository is shutting down.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationReset(System.EventArgs)">
            <summary>
            Notify the registered listeners that the repository has had its configuration reset
            </summary>
            <param name="e">Empty EventArgs</param>
            <remarks>
            <para>
            Notify any listeners that this repository's configuration has been reset.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationChanged(System.EventArgs)">
            <summary>
            Notify the registered listeners that the repository has had its configuration changed
            </summary>
            <param name="e">Empty EventArgs</param>
            <remarks>
            <para>
            Notify any listeners that this repository's configuration has changed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.RaiseConfigurationChanged(System.EventArgs)">
            <summary>
            Raise a configuration changed event on this repository
            </summary>
            <param name="e">EventArgs.Empty</param>
            <remarks>
            <para>
            Applications that programmatically change the configuration of the repository should
            raise this event notification to notify listeners.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
            <summary>
            The name of the repository
            </summary>
            <value>
            The string name of the repository
            </value>
            <remarks>
            <para>
            The name of this repository. The name is
            used to store and lookup the repositories 
            stored by the <see cref="T:log4net.Core.IRepositorySelector"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
            <summary>
            The threshold for all events in this repository
            </summary>
            <value>
            The threshold for all events in this repository
            </value>
            <remarks>
            <para>
            The threshold for all events in this repository
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
            <summary>
            RendererMap accesses the object renderer map for this repository.
            </summary>
            <value>
            RendererMap accesses the object renderer map for this repository.
            </value>
            <remarks>
            <para>
            RendererMap accesses the object renderer map for this repository.
            </para>
            <para>
            The RendererMap holds a mapping between types and
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
            <summary>
            The plugin map for this repository.
            </summary>
            <value>
            The plugin map for this repository.
            </value>
            <remarks>
            <para>
            The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
            that have been attached to this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
            <summary>
            Get the level map for the Repository.
            </summary>
            <remarks>
            <para>
            Get the level map for the Repository.
            </para>
            <para>
            The level map defines the mappings between
            level names and <see cref="T:log4net.Core.Level"/> objects in
            this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
            <summary>
            Flag indicates if this repository has been configured.
            </summary>
            <value>
            Flag indicates if this repository has been configured.
            </value>
            <remarks>
            <para>
            Flag indicates if this repository has been configured.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.ConfigurationMessages">
            <summary>
            Contains a list of internal messages captures during the 
            last configuration.
            </summary>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
            <summary>
            Event to notify that the repository has been shutdown.
            </summary>
            <value>
            Event to notify that the repository has been shutdown.
            </value>
            <remarks>
            <para>
            Event raised when the repository has been shutdown.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationReset">
            <summary>
            Event to notify that the repository has had its configuration reset.
            </summary>
            <value>
            Event to notify that the repository has had its configuration reset.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been
            reset to default.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationChanged">
            <summary>
            Event to notify that the repository has had its configuration changed.
            </summary>
            <value>
            Event to notify that the repository has had its configuration changed.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been changed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Properties">
            <summary>
            Repository specific properties
            </summary>
            <value>
            Repository specific properties
            </value>
            <remarks>
            These properties can be specified on a repository specific basis
            </remarks>
        </member>
        <member name="T:log4net.MDC">
            <summary>
            Implementation of Mapped Diagnostic Contexts.
            </summary>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            The MDC class is similar to the <see cref="T:log4net.NDC"/> class except that it is
            based on a map instead of a stack. It provides <i>mapped
            diagnostic contexts</i>. A <i>Mapped Diagnostic Context</i>, or
            MDC in short, is an instrument for distinguishing interleaved log
            output from different sources. Log output is typically interleaved
            when a server handles multiple clients near-simultaneously.
            </para>
            <para>
            The MDC is managed on a per thread basis.
            </para>
            </remarks>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.MDC.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.MDC"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.MDC.Get(System.String)">
            <summary>
            Gets the context value identified by the <paramref name="key"/> parameter.
            </summary>
            <param name="key">The key to lookup in the MDC.</param>
            <returns>The string value held for the key, or a <c>null</c> reference if no corresponding value is found.</returns>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            If the <paramref name="key"/> parameter does not look up to a
            previously defined context then <c>null</c> will be returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.Set(System.String,System.String)">
            <summary>
            Add an entry to the MDC
            </summary>
            <param name="key">The key to store the value under.</param>
            <param name="value">The value to store.</param>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            Puts a context value (the <paramref name="value"/> parameter) as identified
            with the <paramref name="key"/> parameter into the current thread's
            context map.
            </para>
            <para>
            If a value is already defined for the <paramref name="key"/>
            specified then the value will be replaced. If the <paramref name="value"/> 
            is specified as <c>null</c> then the key value mapping will be removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.Remove(System.String)">
            <summary>
            Removes the key value mapping for the key specified.
            </summary>
            <param name="key">The key to remove.</param>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            Remove the specified entry from this thread's MDC
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.Clear">
            <summary>
            Clear all entries in the MDC
            </summary>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            Remove all the entries from this thread's MDC
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.XmlLayoutSchemaLog4j">
            <summary>
            Layout that formats the log events as XML elements compatible with the log4j schema
            </summary>
            <remarks>
            <para>
            Formats the log events according to the http://logging.apache.org/log4j schema.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Layout.XmlLayoutBase">
            <summary>
            Layout that formats the log events as XML elements.
            </summary>
            <remarks>
            <para>
            This is an abstract class that must be subclassed by an implementation 
            to conform to a specific schema.
            </para>
            <para>
            Deriving classes must implement the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.#ctor">
            <summary>
            Protected constructor to support subclasses
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase"/> class
            with no location info.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.#ctor(System.Boolean)">
            <summary>
            Protected constructor to support subclasses
            </summary>
            <remarks>
            <para>
            The <paramref name="locationInfo" /> parameter determines whether 
            location information will be output by the layout. If 
            <paramref name="locationInfo" /> is set to <c>true</c>, then the 
            file name and line number of the statement at the origin of the log 
            statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.ActivateOptions">
            <summary>
            Initialize layout options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Produces a formatted string.
            </summary>
            <param name="loggingEvent">The event being logged.</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Format the <see cref="T:log4net.Core.LoggingEvent"/> and write it to the <see cref="T:System.IO.TextWriter"/>.
            </para>
            <para>
            This method creates an <see cref="T:System.Xml.XmlTextWriter"/> that writes to the
            <paramref name="writer"/>. The <see cref="T:System.Xml.XmlTextWriter"/> is passed 
            to the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method. Subclasses should override the
            <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method rather than this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
            <summary>
            Does the actual writing of the XML.
            </summary>
            <param name="writer">The writer to use to output the event to.</param>
            <param name="loggingEvent">The event to write.</param>
            <remarks>
            <para>
            Subclasses should override this method to format
            the <see cref="T:log4net.Core.LoggingEvent"/> as XML.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.m_locationInfo">
            <summary>
            Flag to indicate if location information should be included in
            the XML events.
            </summary>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.m_invalidCharReplacement">
            <summary>
            The string to replace invalid chars with
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.LocationInfo">
            <summary>
            Gets a value indicating whether to include location information in 
            the XML events.
            </summary>
            <value>
            <c>true</c> if location information should be included in the XML 
            events; otherwise, <c>false</c>.
            </value>
            <remarks>
            <para>
            If <see cref="P:log4net.Layout.XmlLayoutBase.LocationInfo"/> is set to <c>true</c>, then the file 
            name and line number of the statement at the origin of the log 
            statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an <c>SMTPAppender</c>
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement">
            <summary>
            The string to replace characters that can not be expressed in XML with.
            <remarks>
            <para>
            Not all characters may be expressed in XML. This property contains the
            string to replace those that can not with. This defaults to a ?. Set it
            to the empty string to simply remove offending characters. For more
            details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets
            Character replacement will occur in  the log message, the property names 
            and the property values.
            </para>
            </remarks>
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.ContentType">
            <summary>
            Gets the content type output by this layout. 
            </summary>
            <value>
            As this is the XML layout, the value is always <c>"text/xml"</c>.
            </value>
            <remarks>
            <para>
            As this is the XML layout, the value is always <c>"text/xml"</c>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.XmlLayoutSchemaLog4j.s_date1970">
            <summary>
            The 1st of January 1970 in UTC
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor">
            <summary>
            Constructs an XMLLayoutSchemaLog4j
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor(System.Boolean)">
            <summary>
            Constructs an XMLLayoutSchemaLog4j.
            </summary>
            <remarks>
            <para>
            The <b>LocationInfo</b> option takes a boolean value. By
            default, it is set to false which means there will be no location
            information output by this layout. If the the option is set to
            true, then the file name and line number of the statement
            at the origin of the log statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
            <summary>
            Actually do the writing of the xml
            </summary>
            <param name="writer">the writer to use</param>
            <param name="loggingEvent">the event to write</param>
            <remarks>
            <para>
            Generate XML that is compatible with the log4j schema.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayoutSchemaLog4j.Version">
            <summary>
            The version of the log4j schema to use.
            </summary>
            <remarks>
            <para>
            Only version 1.2 of the log4j schema is supported.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LogImpl">
            <summary>
            Implementation of <see cref="T:log4net.ILog"/> wrapper interface.
            </summary>
            <remarks>
            <para>
            This implementation of the <see cref="T:log4net.ILog"/> interface
            forwards to the <see cref="T:log4net.Core.ILogger"/> held by the base class.
            </para>
            <para>
            This logger has methods to allow the caller to log at the following
            levels:
            </para>
            <list type="definition">
              <item>
                <term>DEBUG</term>
                <description>
                The <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])"/> methods log messages
                at the <c>DEBUG</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Debug"/>. The <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>INFO</term>
                <description>
                The <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])"/> methods log messages
                at the <c>INFO</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Info"/>. The <see cref="P:log4net.Core.LogImpl.IsInfoEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>WARN</term>
                <description>
                The <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])"/> methods log messages
                at the <c>WARN</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Warn"/>. The <see cref="P:log4net.Core.LogImpl.IsWarnEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>ERROR</term>
                <description>
                The <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])"/> methods log messages
                at the <c>ERROR</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Error"/>. The <see cref="P:log4net.Core.LogImpl.IsErrorEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>FATAL</term>
                <description>
                The <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])"/> methods log messages
                at the <c>FATAL</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Fatal"/>. The <see cref="P:log4net.Core.LogImpl.IsFatalEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
            </list>
            <para>
            The values for these levels and their semantic meanings can be changed by 
            configuring the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> for the repository.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Core.LoggerWrapperImpl">
            <summary>
            Implementation of the <see cref="T:log4net.Core.ILoggerWrapper"/> interface.
            </summary>
            <remarks>
            <para>
            This class should be used as the base for all wrapper implementations.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Core.ILoggerWrapper">
            <summary>
            Base interface for all wrappers
            </summary>
            <remarks>
            <para>
            Base interface for all wrappers.
            </para>
            <para>
            All wrappers must implement this interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="P:log4net.Core.ILoggerWrapper.Logger">
            <summary>
            Get the implementation behind this wrapper object.
            </summary>
            <value>
            The <see cref="T:log4net.Core.ILogger"/> object that in implementing this object.
            </value>
            <remarks>
            <para>
            The <see cref="T:log4net.Core.ILogger"/> object that in implementing this
            object. The <c>Logger</c> object may not 
            be the same object as this object because of logger decorators.
            This gets the actual underlying objects that is used to process
            the log events.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerWrapperImpl.#ctor(log4net.Core.ILogger)">
            <summary>
            Constructs a new wrapper for the specified logger.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <remarks>
            <para>
            Constructs a new wrapper for the specified logger.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerWrapperImpl.m_logger">
            <summary>
            The logger that this object is wrapping
            </summary>
        </member>
        <member name="P:log4net.Core.LoggerWrapperImpl.Logger">
            <summary>
            Gets the implementation behind this wrapper object.
            </summary>
            <value>
            The <see cref="T:log4net.Core.ILogger"/> object that this object is implementing.
            </value>
            <remarks>
            <para>
            The <c>Logger</c> object may not be the same object as this object 
            because of logger decorators.
            </para>
            <para>
            This gets the actual underlying objects that is used to process
            the log events.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ILog">
            <summary>
            The ILog interface is use by application to log messages into
            the log4net framework.
            </summary>
            <remarks>
            <para>
            Use the <see cref="T:log4net.LogManager"/> to obtain logger instances
            that implement this interface. The <see cref="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)"/>
            static method is used to get logger instances.
            </para>
            <para>
            This class contains methods for logging at different levels and also
            has properties for determining if those logging levels are
            enabled in the current configuration.
            </para>
            <para>
            This interface can be implemented in different ways. This documentation
            specifies reasonable behavior that a caller can expect from the actual
            implementation, however different implementations reserve the right to
            do things differently.
            </para>
            </remarks>
            <example>Simple example of logging messages
            <code lang="C#">
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            </code>
            </example>
            <seealso cref="T:log4net.LogManager"/>
            <seealso cref="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.ILog.Debug(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Debug"/> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.Debug(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.ILog.Debug(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object[])">
            <overloads>Log a formatted string with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.Info(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
            <summary>
            Logs a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Info"/> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.Info(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.ILog.Info(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.Warn(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Warn"/> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.Warn(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.ILog.Warn(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.Error(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
            <summary>
            Logs a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Error"/> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.Error(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.ILog.Error(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.Fatal(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Fatal"/> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.Fatal(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.ILog.Fatal(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Debug"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
            <para> For some ILog interface <c>log</c>, when you write:</para>
            <code lang="C#">
            log.Debug("This is entry number: " + i );
            </code>
            <para>
            You incur the cost constructing the message, string construction and concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
            <para>
            If you are worried about speed (who isn't), then you should write:
            </para>
            <code lang="C#">
            if (log.IsDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <see cref="P:log4net.ILog.IsDebugEnabled"/> and once in
            the <see cref="M:log4net.ILog.Debug(System.Object)"/>.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log. This is the preferred style of logging.
            </para>
            <para>Alternatively if your logger is available statically then the is debug
            enabled state can be stored in a static variable like this:
            </para>
            <code lang="C#">
            private static readonly bool isDebugEnabled = log.IsDebugEnabled;
            </code>
            <para>
            Then when you come to log you can write:
            </para>
            <code lang="C#">
            if (isDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way the debug enabled state is only queried once
            when the class is loaded. Using a <c>private static readonly</c>
            variable is the most efficient because it is a run time constant
            and can be heavily optimized by the JIT compiler.
            </para>
            <para>
            Of course if you use a static readonly variable to
            hold the enabled state of the logger then you cannot
            change the enabled state at runtime to vary the logging
            that is produced. You have to decide if you need absolute
            speed or runtime flexibility.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/>
        </member>
        <member name="P:log4net.ILog.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Info"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Warn"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Error"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Fatal"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Core.LogImpl.#ctor(log4net.Core.ILogger)">
            <summary>
            Construct a new wrapper for the specified logger.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <remarks>
            <para>
            Construct a new wrapper for the specified logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ReloadLevels(log4net.Repository.ILoggerRepository)">
            <summary>
            Virtual method called when the configuration of the repository changes
            </summary>
            <param name="repository">the repository holding the levels</param>
            <remarks>
            <para>
            Virtual method called when the configuration of the repository changes
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Debug(System.Object)">
            <summary>
            Logs a message object with the <c>DEBUG</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <c>DEBUG</c> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>DEBUG</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>DEBUG</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> passed
            as a parameter.
            </para>
            <para>
            See the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Info(System.Object)">
            <summary>
            Logs a message object with the <c>INFO</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <c>INFO</c> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>INFO</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Warn(System.Object)">
            <summary>
            Logs a message object with the <c>WARN</c> level.
            </summary>
            <param name="message">the message object to log</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <c>WARN</c> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>WARN</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>WARN</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Error(System.Object)">
            <summary>
            Logs a message object with the <c>ERROR</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <c>ERROR</c> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>ERROR</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>ERROR</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Fatal(System.Object)">
            <summary>
            Logs a message object with the <c>FATAL</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <c>FATAL</c> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>FATAL</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>FATAL</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.LoggerRepositoryConfigurationChanged(System.Object,System.EventArgs)">
            <summary>
            Event handler for the <see cref="E:log4net.Repository.ILoggerRepository.ConfigurationChanged"/> event
            </summary>
            <param name="sender">the repository</param>
            <param name="e">Empty</param>
        </member>
        <member name="F:log4net.Core.LogImpl.ThisDeclaringType">
            <summary>
            The fully qualified name of this declaring type not the type of any subclass.
            </summary>
        </member>
        <member name="P:log4net.Core.LogImpl.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <c>DEBUG</c>
            level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>DEBUG</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
            <para>
            For some <c>log</c> Logger object, when you write:
            </para>
            <code lang="C#">
            log.Debug("This is entry number: " + i );
            </code>
            <para>
            You incur the cost constructing the message, concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
            <para>
            If you are worried about speed, then you should write:
            </para>
            <code lang="C#">
            if (log.IsDebugEnabled())
            { 
             log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <c>IsDebugEnabled</c> and once in
            the <c>Debug</c>.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LogImpl.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <c>INFO</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>INFO</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples 
            of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.Core.LogImpl.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <c>WARN</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>WARN</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples 
            of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.Core.LogImpl.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <c>ERROR</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>ERROR</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.Core.LogImpl.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <c>FATAL</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>FATAL</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="T:log4net.Core.LocationInfo">
            <summary>
            The internal representation of caller location information.
            </summary>
            <remarks>
            <para>
            This class uses the <c>System.Diagnostics.StackTrace</c> class to generate
            a call stack. The caller's information is then extracted from this stack.
            </para>
            <para>
            The <c>System.Diagnostics.StackTrace</c> class is not supported on the 
            .NET Compact Framework 1.0 therefore caller location information is not
            available on that framework.
            </para>
            <para>
            The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
            </para>
            <para>
            "StackTrace information will be most informative with Debug build configurations. 
            By default, Debug builds include debug symbols, while Release builds do not. The 
            debug symbols contain most of the file, method name, line number, and column 
            information used in constructing StackFrame and StackTrace objects. StackTrace 
            might not report as many method calls as expected, due to code transformations 
            that occur during optimization."
            </para>
            <para>
            This means that in a Release build the caller information may be incomplete or may 
            not exist at all! Therefore caller location information cannot be relied upon in a Release build.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Core.LocationInfo.NA">
            <summary>
            When location information is not available the constant
            <c>NA</c> is returned. Current value of this string
            constant is <b>?</b>.
            </summary>
        </member>
        <member name="M:log4net.Core.LocationInfo.#ctor(System.Type)">
            <summary>
            Constructor
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
            class based on the current thread.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LocationInfo.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="className">The fully qualified class name.</param>
            <param name="methodName">The method name.</param>
            <param name="fileName">The file name.</param>
            <param name="lineNumber">The line number of the method within the file.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
            class with the specified data.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LocationInfo.declaringType">
            <summary>
            The fully qualified type of the LocationInfo class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.ClassName">
            <summary>
            Gets the fully qualified class name of the caller making the logging 
            request.
            </summary>
            <value>
            The fully qualified class name of the caller making the logging 
            request.
            </value>
            <remarks>
            <para>
            Gets the fully qualified class name of the caller making the logging 
            request.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.FileName">
            <summary>
            Gets the file name of the caller.
            </summary>
            <value>
            The file name of the caller.
            </value>
            <remarks>
            <para>
            Gets the file name of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.LineNumber">
            <summary>
            Gets the line number of the caller.
            </summary>
            <value>
            The line number of the caller.
            </value>
            <remarks>
            <para>
            Gets the line number of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.MethodName">
            <summary>
            Gets the method name of the caller.
            </summary>
            <value>
            The method name of the caller.
            </value>
            <remarks>
            <para>
            Gets the method name of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.FullInfo">
            <summary>
            Gets all available caller information
            </summary>
            <value>
            All available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </value>
            <remarks>
            <para>
            Gets all available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.StackFrames">
            <summary>
            Gets the stack frames from the stack trace of the caller making the log request
            </summary>
        </member>
        <member name="T:log4net.Core.IFixingRequired">
            <summary>
            Interface for objects that require fixing.
            </summary>
            <remarks>
            <para>
            Interface that indicates that the object requires fixing before it
            can be taken outside the context of the appender's 
            <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </para>
            <para>
            When objects that implement this interface are stored 
            in the context properties maps <see cref="T:log4net.GlobalContext"/>
            <see cref="P:log4net.GlobalContext.Properties"/> and <see cref="T:log4net.ThreadContext"/>
            <see cref="P:log4net.ThreadContext.Properties"/> are fixed 
            (see <see cref="P:log4net.Core.LoggingEvent.Fix"/>) the <see cref="M:log4net.Core.IFixingRequired.GetFixedObject"/>
            method will be called.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.IFixingRequired.GetFixedObject">
            <summary>
            Get a portable version of this object
            </summary>
            <returns>the portable instance of this object</returns>
            <remarks>
            <para>
            Get a portable instance object that represents the current
            state of this object. The portable object can be stored
            and logged from any thread with identical results.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.IConvertTo">
            <summary>
            Interface supported by type converters
            </summary>
            <remarks>
            <para>
            This interface supports conversion from a single type to arbitrary types.
            See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertTo.CanConvertTo(System.Type)">
            <summary>
            Returns whether this converter can convert the object to the specified type
            </summary>
            <param name="targetType">A Type that represents the type you want to convert to</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Test if the type supported by this converter can be converted to the
            <paramref name="targetType"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertTo.ConvertTo(System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the arguments
            </summary>
            <param name="source">the object to convert</param>
            <param name="targetType">The Type to convert the value parameter to</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Converts the <paramref name="source"/> (which must be of the type supported
            by this converter) to the <paramref name="targetType"/> specified..
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ReaderWriterLock">
            <summary>
            Defines a lock that supports single writers and multiple readers
            </summary>
            <remarks>
            <para>
            <c>ReaderWriterLock</c> is used to synchronize access to a resource. 
            At any given time, it allows either concurrent read access for 
            multiple threads, or write access for a single thread. In a 
            situation where a resource is changed infrequently, a 
            <c>ReaderWriterLock</c> provides better throughput than a simple 
            one-at-a-time lock, such as <see cref="T:System.Threading.Monitor"/>.
            </para>
            <para>
            If a platform does not support a <c>System.Threading.ReaderWriterLock</c> 
            implementation then all readers and writers are serialized. Therefore 
            the caller must not rely on multiple simultaneous readers.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReaderWriterLock"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.AcquireReaderLock">
            <summary>
            Acquires a reader lock
            </summary>
            <remarks>
            <para>
            <see cref="M:log4net.Util.ReaderWriterLock.AcquireReaderLock"/> blocks if a different thread has the writer 
            lock, or if at least one thread is waiting for the writer lock.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock">
            <summary>
            Decrements the lock count
            </summary>
            <remarks>
            <para>
            <see cref="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock"/> decrements the lock count. When the count 
            reaches zero, the lock is released.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.AcquireWriterLock">
            <summary>
            Acquires the writer lock
            </summary>
            <remarks>
            <para>
            This method blocks if another thread has a reader lock or writer lock.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.ReleaseWriterLock">
            <summary>
            Decrements the lock count on the writer lock
            </summary>
            <remarks>
            <para>
            ReleaseWriterLock decrements the writer lock count. 
            When the count reaches zero, the writer lock is released.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.CompositeProperties">
            <summary>
            This class aggregates several PropertiesDictionary collections together.
            </summary>
            <remarks>
            <para>
            Provides a dictionary style lookup over an ordered list of
            <see cref="T:log4net.Util.PropertiesDictionary"/> collections.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.CompositeProperties.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.CompositeProperties"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CompositeProperties.Add(log4net.Util.ReadOnlyPropertiesDictionary)">
            <summary>
            Add a Properties Dictionary to this composite collection
            </summary>
            <param name="properties">the properties to add</param>
            <remarks>
            <para>
            Properties dictionaries added first take precedence over dictionaries added
            later.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CompositeProperties.Flatten">
            <summary>
            Flatten this composite collection into a single properties dictionary
            </summary>
            <returns>the flattened dictionary</returns>
            <remarks>
            <para>
            Reduces the collection of ordered dictionaries to a single dictionary
            containing the resultant values for the keys.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CompositeProperties.Item(System.String)">
            <summary>
            Gets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Looks up the value for the <paramref name="key"/> specified.
            The <see cref="T:log4net.Util.PropertiesDictionary"/> collections are searched
            in the order in which they were added to this collection. The value
            returned is the value held by the first collection that contains
            the specified key.
            </para>
            <para>
            If none of the collections contain the specified key then
            <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.RendererMap">
            <summary>
            Map class objects to an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            </summary>
            <remarks>
            <para>
            Maintains a mapping between types that require special
            rendering and the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> that
            is used to render them.
            </para>
            <para>
            The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)"/> method is used to render an
            <c>object</c> using the appropriate renderers defined in this map.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.#ctor">
            <summary>
            Default Constructor
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)">
            <summary>
            Render <paramref name="obj"/> using the appropriate renderer.
            </summary>
            <param name="obj">the object to render to a string</param>
            <returns>the object rendered as a string</returns>
            <remarks>
            <para>
            This is a convenience method used to render an object to a string.
            The alternative method <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)"/>
            should be used when streaming output to a <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)">
            <summary>
            Render <paramref name="obj"/> using the appropriate renderer.
            </summary>
            <param name="obj">the object to render to a string</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Find the appropriate renderer for the type of the
            <paramref name="obj"/> parameter. This is accomplished by calling the
            <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/> method. Once a renderer is found, it is
            applied on the object <paramref name="obj"/> and the result is returned
            as a <see cref="T:System.String"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Object)">
            <summary>
            Gets the renderer for the specified object type
            </summary>
            <param name="obj">the object to lookup the renderer for</param>
            <returns>the renderer for <paramref name="obj"/></returns>
            <remarks>
            <param>
            Gets the renderer for the specified object type.
            </param>
            <param>
            Syntactic sugar method that calls <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/> 
            with the type of the object parameter.
            </param>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)">
            <summary>
            Gets the renderer for the specified type
            </summary>
            <param name="type">the type to lookup the renderer for</param>
            <returns>the renderer for the specified type</returns>
            <remarks>
            <para>
            Returns the renderer for the specified type.
            If no specific renderer has been defined the
            <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/> will be returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.SearchTypeAndInterfaces(System.Type)">
            <summary>
            Internal function to recursively search interfaces
            </summary>
            <param name="type">the type to lookup the renderer for</param>
            <returns>the renderer for the specified type</returns>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Clear">
            <summary>
            Clear the map of renderers
            </summary>
            <remarks>
            <para>
            Clear the custom renderers defined by using
            <see cref="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)"/>. The <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/>
            cannot be removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
            <summary>
            Register an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> for <paramref name="typeToRender"/>. 
            </summary>
            <param name="typeToRender">the type that will be rendered by <paramref name="renderer"/></param>
            <param name="renderer">the renderer for <paramref name="typeToRender"/></param>
            <remarks>
            <para>
            Register an object renderer for a specific source type.
            This renderer will be returned from a call to <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/>
            specifying the same <paramref name="typeToRender"/> as an argument.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer">
            <summary>
            Get the default renderer instance
            </summary>
            <value>the default renderer</value>
            <remarks>
            <para>
            Get the default renderer
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.RawUtcTimeStampLayout">
            <summary>
            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
            </summary>
            <remarks>
            <para>
            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Layout.IRawLayout">
            <summary>
            Interface for raw layout objects
            </summary>
            <remarks>
            <para>
            Interface used to format a <see cref="T:log4net.Core.LoggingEvent"/>
            to an object.
            </para>
            <para>
            This interface should not be confused with the
            <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
            only certain specialized situations where a raw object is
            required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
            is not generally useful than this interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.IRawLayout.Format(log4net.Core.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>
            Implement this method to create your own layout format.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawUtcTimeStampLayout.#ctor">
            <summary>
            Constructs a RawUtcTimeStampLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.RawUtcTimeStampLayout.Format(log4net.Core.LoggingEvent)">
            <summary>
            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the time stamp</returns>
            <remarks>
            <para>
            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
            </para>
            <para>
            The time stamp is in universal time. To format the time stamp
            in local time use <see cref="T:log4net.Layout.RawTimeStampLayout"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.RawLayoutConverter">
            <summary>
            Type converter for the <see cref="T:log4net.Layout.IRawLayout"/> interface
            </summary>
            <remarks>
            <para>
            Used to convert objects to the <see cref="T:log4net.Layout.IRawLayout"/> interface.
            Supports converting from the <see cref="T:log4net.Layout.ILayout"/> interface to
            the <see cref="T:log4net.Layout.IRawLayout"/> interface using the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.TypeConverters.IConvertFrom">
            <summary>
            Interface supported by type converters
            </summary>
            <remarks>
            <para>
            This interface supports conversion from arbitrary types
            to a single target type. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Test if the <paramref name="sourceType"/> can be converted to the
            type supported by this converter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
            <summary>
            Convert the source object to the type supported by this object
            </summary>
            <param name="source">the object to convert</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Converts the <paramref name="source"/> to the type supported
            by this converter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawLayoutConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the sourceType be converted to an <see cref="T:log4net.Layout.IRawLayout"/>
            </summary>
            <param name="sourceType">the source to be to be converted</param>
            <returns><c>true</c> if the source type can be converted to <see cref="T:log4net.Layout.IRawLayout"/></returns>
            <remarks>
            <para>
            Test if the <paramref name="sourceType"/> can be converted to a
            <see cref="T:log4net.Layout.IRawLayout"/>. Only <see cref="T:log4net.Layout.ILayout"/> is supported
            as the <paramref name="sourceType"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawLayoutConverter.ConvertFrom(System.Object)">
            <summary>
            Convert the value to a <see cref="T:log4net.Layout.IRawLayout"/> object
            </summary>
            <param name="source">the value to convert</param>
            <returns>the <see cref="T:log4net.Layout.IRawLayout"/> object</returns>
            <remarks>
            <para>
            Convert the <paramref name="source"/> object to a 
            <see cref="T:log4net.Layout.IRawLayout"/> object. If the <paramref name="source"/> object
            is a <see cref="T:log4net.Layout.ILayout"/> then the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>
            is used to adapt between the two interfaces, otherwise an
            exception is thrown.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.DatePatternConverter">
            <summary>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
            </summary>
            <remarks>
            <para>
            Render the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the writer as a string.
            </para>
            <para>
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the formatting of the date. The following values are allowed:
            <list type="definition">
            	<listheader>
            		<term>Option value</term>
            		<description>Output</description>
            	</listheader>
            	<item>
            		<term>ISO8601</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter. 
            		Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
            		</description>
            	</item>
            	<item>
            		<term>DATE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter. 
            		Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>ABSOLUTE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter. 
            		Formats using the <c>"HH:mm:ss,yyyy"</c> for example, <c>"15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>other</term>
            		<description>
            		Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter. 
            		This formatter passes the pattern string to the <see cref="T:System.DateTime"/> 
            		<see cref="M:System.DateTime.ToString(System.String)"/> method.
            		For details on valid patterns see 
            		<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
            		</description>
            	</item>
            </list>
            </para>
            <para>
            The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> is in the local time zone and is rendered in that zone.
            To output the time in Universal time see <see cref="T:log4net.Layout.Pattern.UtcDatePatternConverter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Layout.Pattern.DatePatternConverter.m_dateFormatter">
            <summary>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter pattern based on the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.DatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Convert the pattern into the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.Pattern.DatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the DatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
            <summary>
            Formats a <see cref="T:System.DateTime"/> as <c>"HH:mm:ss,fff"</c>.
            </summary>
            <remarks>
            <para>
            Formats a <see cref="T:System.DateTime"/> in the format <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.DateFormatter.IDateFormatter">
            <summary>
            Render a <see cref="T:System.DateTime"/> as a string.
            </summary>
            <remarks>
            <para>
            Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
            instance into a string.
            </para>
            <para>
            The <see cref="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/> method is used to render the
            date to a text writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
            <summary>
            Formats the specified date as a string.
            </summary>
            <param name="dateToFormat">The date to format.</param>
            <param name="writer">The writer to write to.</param>
            <remarks>
            <para>
            Format the <see cref="T:System.DateTime"/> as a string and write it
            to the <see cref="T:System.IO.TextWriter"/> provided.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat">
            <summary>
            String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DateAndTimeDateFormat">
            <summary>
            String constant used to specify DateTimeDateFormat in layouts.  Current value is <b>DATE</b>.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.Iso8601TimeDateFormat">
            <summary>
            String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Renders the date into a string. Format is <c>"HH:mm:ss"</c>.
            </summary>
            <param name="dateToFormat">The date to render into a string.</param>
            <param name="buffer">The string builder to write to.</param>
            <remarks>
            <para>
            Subclasses should override this method to render the date
            into a string using a precision up to the second. This method
            will be called at most once per second and the result will be
            reused if it is needed again during the same second.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
            <summary>
            Renders the date into a string. Format is "HH:mm:ss,fff".
            </summary>
            <param name="dateToFormat">The date to render into a string.</param>
            <param name="writer">The writer to write to.</param>
            <remarks>
            <para>
            Uses the <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> method to generate the
            time string up to the seconds and then appends the current
            milliseconds. The results from <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> are
            cached and <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> is called at most once
            per second.
            </para>
            <para>
            Sub classes should override <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/>
            rather than <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
            <summary>
            Last stored time with precision up to the second.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeBuf">
            <summary>
            Last stored time with precision up to the second, formatted
            as a string.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeString">
            <summary>
            Last stored time with precision up to the second, formatted
            as a string.
            </summary>
        </member>
        <member name="T:log4net.Core.SecurityContextProvider">
            <summary>
            The <see cref="T:log4net.Core.SecurityContextProvider"/> providers default <see cref="T:log4net.Core.SecurityContext"/> instances.
            </summary>
            <remarks>
            <para>
            A configured component that interacts with potentially protected system
            resources uses a <see cref="T:log4net.Core.SecurityContext"/> to provide the elevated
            privileges required. If the <see cref="T:log4net.Core.SecurityContext"/> object has
            been not been explicitly provided to the component then the component
            will request one from this <see cref="T:log4net.Core.SecurityContextProvider"/>.
            </para>
            <para>
            By default the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is
            an instance of <see cref="T:log4net.Core.SecurityContextProvider"/> which returns only
            <see cref="T:log4net.Util.NullSecurityContext"/> objects. This is a reasonable default
            where the privileges required are not know by the system.
            </para>
            <para>
            This default behavior can be overridden by subclassing the <see cref="T:log4net.Core.SecurityContextProvider"/>
            and overriding the <see cref="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)"/> method to return
            the desired <see cref="T:log4net.Core.SecurityContext"/> objects. The default provider
            can be replaced by programmatically setting the value of the 
            <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> property.
            </para>
            <para>
            An alternative is to use the <c>log4net.Config.SecurityContextProviderAttribute</c>
            This attribute can be applied to an assembly in the same way as the
            <c>log4net.Config.XmlConfiguratorAttribute"</c>. The attribute takes
            the type to use as the <see cref="T:log4net.Core.SecurityContextProvider"/> as an argument.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.SecurityContextProvider.s_defaultProvider">
            <summary>
            The default provider
            </summary>
        </member>
        <member name="M:log4net.Core.SecurityContextProvider.#ctor">
            <summary>
            Protected default constructor to allow subclassing
            </summary>
            <remarks>
            <para>
            Protected default constructor to allow subclassing
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)">
            <summary>
            Create a SecurityContext for a consumer
            </summary>
            <param name="consumer">The consumer requesting the SecurityContext</param>
            <returns>An impersonation context</returns>
            <remarks>
            <para>
            The default implementation is to return a <see cref="T:log4net.Util.NullSecurityContext"/>.
            </para>
            <para>
            Subclasses should override this method to provide their own
            behavior.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.SecurityContextProvider.DefaultProvider">
            <summary>
            Gets or sets the default SecurityContextProvider
            </summary>
            <value>
            The default SecurityContextProvider
            </value>
            <remarks>
            <para>
            The default provider is used by configured components that
            require a <see cref="T:log4net.Core.SecurityContext"/> and have not had one
            given to them.
            </para>
            <para>
            By default this is an instance of <see cref="T:log4net.Core.SecurityContextProvider"/>
            that returns <see cref="T:log4net.Util.NullSecurityContext"/> objects.
            </para>
            <para>
            The default provider can be set programmatically by setting
            the value of this property to a sub class of <see cref="T:log4net.Core.SecurityContextProvider"/>
            that has the desired behavior.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.MemoryAppender">
            <summary>
            Stores logging events in an array.
            </summary>
            <remarks>
            <para>
            The memory appender stores all the logging events
            that are appended in an in-memory array.
            </para>
            <para>
            Use the <see cref="M:log4net.Appender.MemoryAppender.GetEvents"/> method to get
            the current list of events that have been appended.
            </para>
            <para>
            Use the <see cref="M:log4net.Appender.MemoryAppender.Clear"/> method to clear the
            current list of events.
            </para>
            </remarks>
            <author>Julian Biddle</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.MemoryAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.GetEvents">
            <summary>
            Gets the events that have been logged.
            </summary>
            <returns>The events that have been logged</returns>
            <remarks>
            <para>
            Gets the events that have been logged.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Stores the <paramref name="loggingEvent"/> in the events list.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.Clear">
            <summary>
            Clear the list of events
            </summary>
            <remarks>
            Clear the list of events
            </remarks>
        </member>
        <member name="F:log4net.Appender.MemoryAppender.m_eventsList">
            <summary>
            The list of events that have been appended.
            </summary>
        </member>
        <member name="F:log4net.Appender.MemoryAppender.m_fixFlags">
            <summary>
            Value indicating which fields in the event should be fixed
            </summary>
            <remarks>
            By default all fields are fixed
            </remarks>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.OnlyFixPartialEventData">
            <summary>
            Gets or sets a value indicating whether only part of the logging event 
            data should be fixed.
            </summary>
            <value>
            <c>true</c> if the appender should only fix part of the logging event 
            data, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            Setting this property to <c>true</c> will cause only part of the event 
            data to be fixed and stored in the appender, hereby improving performance. 
            </para>
            <para>
            See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.Fix">
            <summary>
            Gets or sets the fields that will be fixed in the event
            </summary>
            <remarks>
            <para>
            The logging event needs to have certain thread specific values 
            captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
            for details.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender">
            <summary>
            Appends logging events to the terminal using ANSI color escape sequences.
            </summary>
            <remarks>
            <para>
            AnsiColorTerminalAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user. It also allows the color of a specific level of message to be set.
            </para>
            <note>
            This appender expects the terminal to understand the VT100 control set 
            in order to interpret the color codes. If the terminal or console does not
            understand the control codes the behavior is not defined.
            </note>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes each message to the <c>System.Console.Out</c> or 
            <c>System.Console.Error</c> that is set at the time the event is appended.
            Therefore it is possible to programmatically redirect the output of this appender 
            (for example NUnit does this to capture program output). While this is the desired
            behavior of this appender it may have security implications in your application. 
            </para>
            <para>
            When configuring the ANSI colored terminal appender, a mapping should be
            specified to map a logging level to a color. For example:
            </para>
            <code lang="XML" escaped="true">
            <mapping>
            	<level value="ERROR"/>
            	<foreColor value="White"/>
            	<backColor value="Red"/>
                <attributes value="Bright,Underscore"/>
            </mapping>
            <mapping>
            	<level value="DEBUG"/>
            	<backColor value="Green"/>
            </mapping>
            </code>
            <para>
            The Level is the standard log4net logging level and ForeColor and BackColor can be any
            of the following values:
            <list type="bullet">
            <item><term>Blue</term><description></description></item>
            <item><term>Green</term><description></description></item>
            <item><term>Red</term><description></description></item>
            <item><term>White</term><description></description></item>
            <item><term>Yellow</term><description></description></item>
            <item><term>Purple</term><description></description></item>
            <item><term>Cyan</term><description></description></item>
            </list>
            These color values cannot be combined together to make new colors.
            </para>
            <para>
            The attributes can be any combination of the following:
            <list type="bullet">
            <item><term>Bright</term><description>foreground is brighter</description></item>
            <item><term>Dim</term><description>foreground is dimmer</description></item>
            <item><term>Underscore</term><description>message is underlined</description></item>
            <item><term>Blink</term><description>foreground is blinking (does not work on all terminals)</description></item>
            <item><term>Reverse</term><description>foreground and background are reversed</description></item>
            <item><term>Hidden</term><description>output is hidden</description></item>
            <item><term>Strikethrough</term><description>message has a line through it</description></item>
            </list>
            While any of these attributes may be combined together not all combinations
            work well together, for example setting both <i>Bright</i> and <i>Dim</i> attributes makes
            no sense.
            </para>
            </remarks>
            <author>Patrick Wagstrom</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleOut">
            <summary>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleError">
            <summary>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.PostEventCodes">
            <summary>
            Ansi code to reset terminal
            </summary>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.AddMapping(log4net.Appender.AnsiColorTerminalAppender.LevelColors)">
            <summary>
            Add a mapping of level to color
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors"/> mapping to this appender.
            Each mapping defines the foreground and background colours
            for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.ActivateOptions">
            <summary>
            Initialize the options for this appender
            </summary>
            <remarks>
            <para>
            Initialize the level to color mappings set on this appender.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_writeToErrorStream">
            <summary>
            Flag to write output to the error stream rather than the standard output stream
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_levelMapping">
            <summary>
            Mapping from level object to color value
            </summary>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.Target">
            <summary>
            Target is the value of the console output stream.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
            <remarks>
            <para>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes">
            <summary>
            The enum of possible display attributes
            </summary>
            <remarks>
            <para>
            The following flags can be combined together to
            form the ANSI color attributes.
            </para>
            </remarks>
            <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Bright">
            <summary>
            text is bright
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Dim">
            <summary>
            text is dim
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Underscore">
            <summary>
            text is underlined
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Blink">
            <summary>
            text is blinking
            </summary>
            <remarks>
            Not all terminals support this attribute
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Reverse">
            <summary>
            text and background colors are reversed
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Hidden">
            <summary>
            text is hidden
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Strikethrough">
            <summary>
            text is displayed with a strikethrough
            </summary>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiColor">
            <summary>
            The enum of possible foreground or background color values for 
            use with the color mapping method
            </summary>
            <remarks>
            <para>
            The output can be in one for the following ANSI colors.
            </para>
            </remarks>
            <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Black">
            <summary>
            color is black
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Red">
            <summary>
            color is red
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Green">
            <summary>
            color is green
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Yellow">
            <summary>
            color is yellow
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Blue">
            <summary>
            color is blue
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Magenta">
            <summary>
            color is magenta
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Cyan">
            <summary>
            color is cyan
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.White">
            <summary>
            color is white
            </summary>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
            <remarks>
            <para>
            Defines the mapping between a level and the color it should be displayed in.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LevelMappingEntry">
            <summary>
            An entry in the <see cref="T:log4net.Util.LevelMapping"/>
            </summary>
            <remarks>
            <para>
            This is an abstract base class for types that are stored in the
            <see cref="T:log4net.Util.LevelMapping"/> object.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.LevelMappingEntry.#ctor">
            <summary>
            Default protected constructor
            </summary>
            <remarks>
            <para>
            Default protected constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LevelMappingEntry.ActivateOptions">
            <summary>
            Initialize any options defined on this entry
            </summary>
            <remarks>
            <para>
            Should be overridden by any classes that need to initialise based on their options
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.LevelMappingEntry.Level">
            <summary>
            The level that is the key for this mapping 
            </summary>
            <value>
            The <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this mapping 
            </value>
            <remarks>
            <para>
            Get or set the <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this
            mapping subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ActivateOptions">
            <summary>
            Initialize the options for the object
            </summary>
            <remarks>
            <para>
            Combine the <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> together
            and append the attributes.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor">
            <summary>
            The mapped foreground color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped foreground color for the specified level
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor">
            <summary>
            The mapped background color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped background color for the specified level
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes">
            <summary>
            The color attributes for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The color attributes for the specified level
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.CombinedColor">
            <summary>
            The combined <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/>, <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> and
            <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes"/> suitable for setting the ansi terminal color.
            </summary>
        </member>
        <member name="T:log4net.Util.TypeConverters.EncodingConverter">
            <summary>
            Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to an encoding</param>
            <returns>the encoding</returns>
            <remarks>
            <para>
            Uses the <see cref="M:System.Text.Encoding.GetEncoding(System.String)"/> method to 
            convert the <see cref="T:System.String"/> argument to an <see cref="T:System.Text.Encoding"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter">
            <summary>
            Write the UTC date time to the output
            </summary>
            <remarks>
            <para>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the current date and time in Universal time.
            </para>
            <para>
            See the <see cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/> for details on the date pattern syntax.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.DatePatternConverter">
            <summary>
            Write the current date to the output
            </summary>
            <remarks>
            <para>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the current date and time to the writer as a string.
            </para>
            <para>
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the formatting of the date. The following values are allowed:
            <list type="definition">
            	<listheader>
            		<term>Option value</term>
            		<description>Output</description>
            	</listheader>
            	<item>
            		<term>ISO8601</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter. 
            		Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
            		</description>
            	</item>
            	<item>
            		<term>DATE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter. 
            		Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>ABSOLUTE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter. 
            		Formats using the <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>other</term>
            		<description>
            		Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter. 
            		This formatter passes the pattern string to the <see cref="T:System.DateTime"/> 
            		<see cref="M:System.DateTime.ToString(System.String)"/> method.
            		For details on valid patterns see 
            		<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
            		</description>
            	</item>
            </list>
            </para>
            <para>
            The date and time is in the local time zone and is rendered in that zone.
            To output the time in Universal time see <see cref="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.m_dateFormatter">
            <summary>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current date to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The date and time passed is in the local time zone.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the DatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.UtcDatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current date and time to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The date is in Universal time when it is rendered.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.UtcDatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the UtcDatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter">
            <summary>
            Write an <see cref="T:System.Environment.SpecialFolder"/> folder path to the output
            </summary>
            <remarks>
            <para>
            Write an special path environment folder path to the output writer.
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the name of the variable to output. <see cref="P:log4net.Util.PatternConverter.Option"/>
            should be a value in the <see cref="T:System.Environment.SpecialFolder"/> enumeration.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write an special path environment folder path to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes the special path environment folder path to the output <paramref name="writer"/>.
            The name of the special path environment folder path to output must be set
            using the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter.declaringType">
            <summary>
            The fully qualified type of the EnvironmentFolderPathPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryShutdownEventHandler">
            <summary>
            Delegate used to handle logger repository shutdown event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down.</param>
            <param name="e">Empty event args</param>
            <remarks>
            <para>
            Delegate used to handle logger repository shutdown event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryConfigurationResetEventHandler">
            <summary>
            Delegate used to handle logger repository configuration reset event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration reset.</param>
            <param name="e">Empty event args</param>
            <remarks>
            <para>
            Delegate used to handle logger repository configuration reset event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryConfigurationChangedEventHandler">
            <summary>
            Delegate used to handle event notifications for logger repository configuration changes.
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration changed.</param>
            <param name="e">Empty event arguments.</param>
            <remarks>
            <para>
            Delegate used to handle event notifications for logger repository configuration changes.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.IPlugin">
            <summary>
            Interface implemented by logger repository plugins.
            </summary>
            <remarks>
            <para>
            Plugins define additional behavior that can be associated
            with a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            The <see cref="T:log4net.Plugin.PluginMap"/> held by the <see cref="P:log4net.Repository.ILoggerRepository.PluginMap"/>
            property is used to store the plugins for a repository.
            </para>
            <para>
            The <c>log4net.Config.PluginAttribute</c> can be used to
            attach plugins to repositories created using configuration
            attributes.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.IPlugin.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches the plugin to the specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.IPlugin.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
            <remarks>
            <para>
            This method is called to notify the plugin that 
            it should stop operating and should detach from
            the repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.IPlugin.Name">
            <summary>
            Gets the name of the plugin.
            </summary>
            <value>
            The name of the plugin.
            </value>
            <remarks>
            <para>
            Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
            keyed by name. Each plugin instance attached to a
            repository must be a unique name.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.StackTraceDetailPatternConverter">
            <summary>
            Write the caller stack frames to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer, using format:
            type3.MethodCall3(type param,...) &gt; type2.MethodCall2(type param,...) &gt; type1.MethodCall1(type param,...)
            </para>
            </remarks>
            <author>Adam Davies</author>
        </member>
        <member name="T:log4net.Layout.Pattern.StackTracePatternConverter">
            <summary>
            Write the caller stack frames to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer, using format:
            type3.MethodCall3 &gt; type2.MethodCall2 &gt; type1.MethodCall1
            </para>
            </remarks>
            <author>Michael Cromwell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the strack frames to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.GetMethodInformation(System.Reflection.MethodBase)">
            <summary>
            Returns the Name of the method
            </summary>
            <param name="method"></param>
            <remarks>This method was created, so this class could be used as a base class for StackTraceDetailPatternConverter</remarks>
            <returns>string</returns>
        </member>
        <member name="F:log4net.Layout.Pattern.StackTracePatternConverter.declaringType">
            <summary>
            The fully qualified type of the StackTracePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Layout.Pattern.StackTraceDetailPatternConverter.declaringType">
            <summary>
            The fully qualified type of the StackTraceDetailPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.FileLocationPatternConverter">
            <summary>
            Writes the caller location file name to the output
            </summary>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
            the event to the output writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.FileLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the caller location file name to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
            the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.DateFormatter.SimpleDateFormatter">
            <summary>
            Formats the <see cref="T:System.DateTime"/> using the <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method.
            </summary>
            <remarks>
            <para>
            Formats the <see cref="T:System.DateTime"/> using the <see cref="T:System.DateTime"/> <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.DateFormatter.SimpleDateFormatter.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="format">The format string.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> class 
            with the specified format string.
            </para>
            <para>
            The format string must be compatible with the options
            that can be supplied to <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.DateFormatter.SimpleDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
            <summary>
            Formats the date using <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
            </summary>
            <param name="dateToFormat">The date to convert to a string.</param>
            <param name="writer">The writer to write to.</param>
            <remarks>
            <para>
            Uses the date format string supplied to the constructor to call
            the <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method to format the date.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.SimpleDateFormatter.m_formatString">
            <summary>
            The format string used to format the <see cref="T:System.DateTime"/>.
            </summary>
            <remarks>
            <para>
            The format string must be compatible with the options
            that can be supplied to <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LevelEvaluator">
            <summary>
            An evaluator that triggers at a threshold level
            </summary>
            <remarks>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Core.ITriggeringEventEvaluator">
            <summary>
            Test if an <see cref="T:log4net.Core.LoggingEvent"/> triggers an action
            </summary>
            <remarks>
            <para>
            Implementations of this interface allow certain appenders to decide
            when to perform an appender specific action.
            </para>
            <para>
            The action or behavior triggered is defined by the implementation.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.ITriggeringEventEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Test if this event triggers the action
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns><c>true</c> if this event triggers the action, otherwise <c>false</c></returns>
            <remarks>
            <para>
            Return <c>true</c> if this event triggers the action
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LevelEvaluator.m_threshold">
            <summary>
            The threshold for triggering
            </summary>
        </member>
        <member name="M:log4net.Core.LevelEvaluator.#ctor">
            <summary>
            Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
            </summary>
            <remarks>
            <para>
            Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
            </para>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelEvaluator.#ctor(log4net.Core.Level)">
            <summary>
            Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
            </summary>
            <param name="threshold">the threshold to trigger at</param>
            <remarks>
            <para>
            Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
            </para>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Is this <paramref name="loggingEvent"/> the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns>This method returns <c>true</c>, if the event level
            is equal or higher than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>. 
            Otherwise it returns <c>false</c></returns>
            <remarks>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LevelEvaluator.Threshold">
            <summary>
            the threshold to trigger at
            </summary>
            <value>
            The <see cref="T:log4net.Core.Level"/> that will cause this evaluator to trigger
            </value>
            <remarks>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.ConverterRegistry">
            <summary>
            Register of type converters for specific types.
            </summary>
            <remarks>
            <para>
            Maintains a registry of type converters used to convert between
            types.
            </para>
            <para>
            Use the <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)"/> and 
            <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)"/> methods to register new converters.
            The <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)"/> and <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)"/> methods
            lookup appropriate converters to use.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#ctor">
            <summary>
            Private constructor
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConverterRegistry"/> class.
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#cctor">
            <summary>
            Static constructor.
            </summary>
            <remarks>
            <para>
            This constructor defines the intrinsic type converters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)">
            <summary>
            Adds a converter for a specific type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <param name="converter">The type converter to use to convert to the destination type.</param>
            <remarks>
            <para>
            Adds a converter instance for a specific type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)">
            <summary>
            Adds a converter for a specific type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <param name="converterType">The type of the type converter to use to convert to the destination type.</param>
            <remarks>
            <para>
            Adds a converter <see cref="T:System.Type"/> for a specific type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)">
            <summary>
            Gets the type converter to use to convert values to the destination type.
            </summary>
            <param name="sourceType">The type being converted from.</param>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
            <remarks>
            <para>
            Gets the type converter to use to convert values to the destination type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)">
            <summary>
            Gets the type converter to use to convert values to the destination type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
            <remarks>
            <para>
            Gets the type converter to use to convert values to the destination type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConverterFromAttribute(System.Type)">
            <summary>
            Lookups the type converter to use as specified by the attributes on the 
            destination type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.CreateConverterInstance(System.Type)">
            <summary>
            Creates the instance of the type converter.
            </summary>
            <param name="converterType">The type of the type converter.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
            <remarks>
            <para>
            The type specified for the type converter must implement 
            the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> or <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces 
            and must have a public default (no argument) constructor.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.TypeConverters.ConverterRegistry.declaringType">
            <summary>
            The fully qualified type of the ConverterRegistry class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Util.TypeConverters.ConverterRegistry.s_type2converter">
            <summary>
            Mapping from <see cref="T:System.Type"/> to type converter.
            </summary>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.IdentityPatternConverter">
            <summary>
            Write the current thread identity to the output
            </summary>
            <remarks>
            <para>
            Write the current thread identity to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.IdentityPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current thread identity to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes the current thread identity to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.IdentityPatternConverter.declaringType">
            <summary>
            The fully qualified type of the IdentityPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.OptionConverter">
            <summary>
            A convenience class to convert property values to specific types.
            </summary>
            <remarks>
            <para>
            Utility functions for converting types and parsing values.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.OptionConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.OptionConverter"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ToBoolean(System.String,System.Boolean)">
            <summary>
            Converts a string to a <see cref="T:System.Boolean"/> value.
            </summary>
            <param name="argValue">String to convert.</param>
            <param name="defaultValue">The default value.</param>
            <returns>The <see cref="T:System.Boolean"/> value of <paramref name="argValue"/>.</returns>
            <remarks>
            <para>
            If <paramref name="argValue"/> is "true", then <c>true</c> is returned. 
            If <paramref name="argValue"/> is "false", then <c>false</c> is returned. 
            Otherwise, <paramref name="defaultValue"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ToFileSize(System.String,System.Int64)">
            <summary>
            Parses a file size into a number.
            </summary>
            <param name="argValue">String to parse.</param>
            <param name="defaultValue">The default value.</param>
            <returns>The <see cref="T:System.Int64"/> value of <paramref name="argValue"/>.</returns>
            <remarks>
            <para>
            Parses a file size of the form: number[KB|MB|GB] into a
            long value. It is scaled with the appropriate multiplier.
            </para>
            <para>
            <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
            cannot be converted to a <see cref="T:System.Int64"/> value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ConvertStringTo(System.Type,System.String)">
            <summary>
            Converts a string to an object.
            </summary>
            <param name="target">The target type to convert to.</param>
            <param name="txt">The string to convert to an object.</param>
            <returns>
            The object converted from a string or <c>null</c> when the 
            conversion failed.
            </returns>
            <remarks>
            <para>
            Converts a string to an object. Uses the converter registry to try
            to convert the string value into the specified target type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.CanConvertTypeTo(System.Type,System.Type)">
            <summary>
            Checks if there is an appropriate type conversion from the source type to the target type.
            </summary>
            <param name="sourceType">The type to convert from.</param>
            <param name="targetType">The type to convert to.</param>
            <returns><c>true</c> if there is a conversion from the source type to the target type.</returns>
            <remarks>
            Checks if there is an appropriate type conversion from the source type to the target type.
            <para>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ConvertTypeTo(System.Object,System.Type)">
            <summary>
            Converts an object to the target type.
            </summary>
            <param name="sourceInstance">The object to convert to the target type.</param>
            <param name="targetType">The type to convert to.</param>
            <returns>The converted object.</returns>
            <remarks>
            <para>
            Converts an object to the target type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.InstantiateByClassName(System.String,System.Type,System.Object)">
            <summary>
            Instantiates an object given a class name.
            </summary>
            <param name="className">The fully qualified class name of the object to instantiate.</param>
            <param name="superClass">The class to which the new object should belong.</param>
            <param name="defaultValue">The object to return in case of non-fulfillment.</param>
            <returns>
            An instance of the <paramref name="className"/> or <paramref name="defaultValue"/>
            if the object could not be instantiated.
            </returns>
            <remarks>
            <para>
            Checks that the <paramref name="className"/> is a subclass of
            <paramref name="superClass"/>. If that test fails or the object could
            not be instantiated, then <paramref name="defaultValue"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.SubstituteVariables(System.String,System.Collections.IDictionary)">
            <summary>
            Performs variable substitution in string <paramref name="value"/> from the 
            values of keys found in <paramref name="props"/>.
            </summary>
            <param name="value">The string on which variable substitution is performed.</param>
            <param name="props">The dictionary to use to lookup variables.</param>
            <returns>The result of the substitutions.</returns>
            <remarks>
            <para>
            The variable substitution delimiters are <b>${</b> and <b>}</b>.
            </para>
            <para>
            For example, if props contains <c>key=value</c>, then the call
            </para>
            <para>
            <code lang="C#">
            string s = OptionConverter.SubstituteVariables("Value of key is ${key}.");
            </code>
            </para>
            <para>
            will set the variable <c>s</c> to "Value of key is value.".
            </para>
            <para>
            If no value could be found for the specified key, then substitution 
            defaults to an empty string.
            </para>
            <para>
            For example, if system properties contains no value for the key
            "nonExistentKey", then the call
            </para>
            <para>
            <code lang="C#">
            string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]");
            </code>
            </para>
            <para>
            will set <s>s</s> to "Value of nonExistentKey is []".	 
            </para>
            <para>
            An Exception is thrown if <paramref name="value"/> contains a start 
            delimiter "${" which is not balanced by a stop delimiter "}". 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ParseEnum(System.Type,System.String,System.Boolean)">
            <summary>
            Converts the string representation of the name or numeric value of one or 
            more enumerated constants to an equivalent enumerated object.
            </summary>
            <param name="enumType">The type to convert to.</param>
            <param name="value">The enum string value.</param>
            <param name="ignoreCase">If <c>true</c>, ignore case; otherwise, regard case.</param>
            <returns>An object of type <paramref name="enumType" /> whose value is represented by <paramref name="value" />.</returns>
        </member>
        <member name="F:log4net.Util.OptionConverter.declaringType">
            <summary>
            The fully qualified type of the OptionConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Layout.SimpleLayout">
            <summary>
            A very simple layout
            </summary>
            <remarks>
            <para>
            SimpleLayout consists of the level of the log statement,
            followed by " - " and then the log message itself. For example,
            <code>
            DEBUG - Hello world
            </code>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.#ctor">
            <summary>
            Constructs a SimpleLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.ActivateOptions">
            <summary>
            Initialize layout options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Produces a simple formatted output.
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Formats the event as the level of the even,
            followed by " - " and then the log message itself. The
            output is terminated by a newline.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetSessionPatternConverter">
            <summary>
            Converter for items in the ASP.Net Cache.
            </summary>
            <remarks>
            <para>
            Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache"/>.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetPatternLayoutConverter">
            <summary>
            Abstract class that provides access to the current HttpContext (<see cref="P:System.Web.HttpContext.Current"/>) that 
            derived classes need.
            </summary>
            <remarks>
            This class handles the case when HttpContext.Current is null by writing
            <see cref="P:log4net.Util.SystemInfo.NotAvailableText"/> to the writer.
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetPatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetSessionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Write the ASP.Net Cache item to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property. If no property has been set, all key value pairs from the Session will
            be written to the output.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AppDomainPatternConverter">
            <summary>
            Write the event appdomain name to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output writer.
            </para>
            </remarks>
            <author>Daniel Cazzulino</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AppDomainPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the event appdomain name to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.LevelMatchFilter">
            <summary>
            This is a very simple filter based on <see cref="T:log4net.Core.Level"/> matching.
            </summary>
            <remarks>
            <para>
            The filter admits two options <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> and
            <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If there is an exact match between the value
            of the <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> option and the <see cref="T:log4net.Core.Level"/> of the 
            <see cref="T:log4net.Core.LoggingEvent"/>, then the <see cref="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in 
            case the <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> option value is set
            to <c>true</c>, if it is <c>false</c> then 
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If the <see cref="T:log4net.Core.Level"/> does not match then
            the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Filter.LevelMatchFilter.m_acceptOnMatch">
            <summary>
            flag to indicate if the filter should <see cref="F:log4net.Filter.FilterDecision.Accept"/> on a match
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelMatchFilter.m_levelToMatch">
            <summary>
            the <see cref="T:log4net.Core.Level"/> to match against
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Tests if the <see cref="T:log4net.Core.Level"/> of the logging event matches that of the filter
            </summary>
            <param name="loggingEvent">the event to filter</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            If the <see cref="T:log4net.Core.Level"/> of the event matches the level of the
            filter then the result of the function depends on the
            value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If it is true then
            the function will return <see cref="F:log4net.Filter.FilterDecision.Accept"/>, it it is false then it
            will return <see cref="F:log4net.Filter.FilterDecision.Deny"/>. If the <see cref="T:log4net.Core.Level"/> does not match then
            the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelMatchFilter.LevelToMatch">
            <summary>
            The <see cref="T:log4net.Core.Level"/> that the filter will match
            </summary>
            <remarks>
            <para>
            The level that this filter will attempt to match against the 
            <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.SecurityContextProviderAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Core.SecurityContextProvider"/>.
            </summary>
            <remarks>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
            without calling one of the <see cref="M:log4net.Config.XmlConfigurator.Configure"/>
            methods.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Config.ConfiguratorAttribute">
            <summary>
            Base class for all log4net configuration attributes.
            </summary>
            <remarks>
            This is an abstract class that must be extended by 
            specific configurators. This attribute allows the
            configurator to be parameterized by an assembly level
            attribute.
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.#ctor(System.Int32)">
            <summary>
            Constructor used by subclasses.
            </summary>
            <param name="priority">the ordering priority for this configurator</param>
            <remarks>
            <para>
            The <paramref name="priority"/> is used to order the configurator
            attributes before they are invoked. Higher priority configurators are executed
            before lower priority ones.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
            <remarks>
            <para>
            Abstract method implemented by a subclass. When this method is called
            the subclass should configure the <paramref name="targetRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.CompareTo(System.Object)">
            <summary>
            Compare this instance to another ConfiguratorAttribute
            </summary>
            <param name="obj">the object to compare to</param>
            <returns>see <see cref="M:System.IComparable.CompareTo(System.Object)"/></returns>
            <remarks>
            <para>
            Compares the priorities of the two <see cref="T:log4net.Config.ConfiguratorAttribute"/> instances.
            Sorts by priority in descending order. Objects with the same priority are
            randomly ordered.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.SecurityContextProviderAttribute.#ctor(System.Type)">
            <summary>
            Construct provider attribute with type specified
            </summary>
            <param name="providerType">the type of the provider to use</param>
            <remarks>
            <para>
            The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
            class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.SecurityContextProviderAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the SecurityContextProvider
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
            <remarks>
            <para>
            Creates a provider instance from the <see cref="P:log4net.Config.SecurityContextProviderAttribute.ProviderType"/> specified.
            Sets this as the default security context provider <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Config.SecurityContextProviderAttribute.declaringType">
            <summary>
            The fully qualified type of the SecurityContextProviderAttribute class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Config.SecurityContextProviderAttribute.ProviderType">
            <summary>
            Gets or sets the type of the provider to use.
            </summary>
            <value>
            the type of the provider to use.
            </value>
            <remarks>
            <para>
            The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
            class.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ConverterInfo">
            <summary>
            Wrapper class used to map converter names to converter types
            </summary>
            <remarks>
            <para>
            Pattern converter info class used during configuration by custom
            PatternString and PatternLayer converters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ConverterInfo.#ctor">
            <summary>
            default constructor
            </summary>
        </member>
        <member name="M:log4net.Util.ConverterInfo.AddProperty(log4net.Util.PropertyEntry)">
            <summary>
            
            </summary>
            <param name="entry"></param>
        </member>
        <member name="P:log4net.Util.ConverterInfo.Name">
            <summary>
            Gets or sets the name of the conversion pattern
            </summary>
            <remarks>
            <para>
            The name of the pattern in the format string
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ConverterInfo.Type">
            <summary>
            Gets or sets the type of the converter
            </summary>
            <remarks>
            <para>
            The value specified must extend the 
            <see cref="T:log4net.Util.PatternConverter"/> type.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ConverterInfo.Properties">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Util.AppenderAttachedImpl">
            <summary>
            A straightforward implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
            </summary>
            <remarks>
            <para>
            This is the default implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/>
            interface. Implementors of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            should aggregate an instance of this type.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.AppenderAttachedImpl"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent)">
            <summary>
            Append on on all attached appenders.
            </summary>
            <param name="loggingEvent">The event being logged.</param>
            <returns>The number of appenders called.</returns>
            <remarks>
            <para>
            Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all 
            attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent[])">
            <summary>
            Append on on all attached appenders.
            </summary>
            <param name="loggingEvents">The array of events being logged.</param>
            <returns>The number of appenders called.</returns>
            <remarks>
            <para>
            Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all 
            attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.CallAppend(log4net.Appender.IAppender,log4net.Core.LoggingEvent[])">
            <summary>
            Calls the DoAppende method on the <see cref="T:log4net.Appender.IAppender"/> with 
            the <see cref="T:log4net.Core.LoggingEvent"/> objects supplied.
            </summary>
            <param name="appender">The appender</param>
            <param name="loggingEvents">The events</param>
            <remarks>
            <para>
            If the <paramref name="appender"/> supports the <see cref="T:log4net.Appender.IBulkAppender"/>
            interface then the <paramref name="loggingEvents"/> will be passed 
            through using that interface. Otherwise the <see cref="T:log4net.Core.LoggingEvent"/>
            objects in the array will be passed one at a time.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Attaches an appender.
            </summary>
            <param name="newAppender">The appender to add.</param>
            <remarks>
            <para>
            If the appender is already in the list it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.GetAppender(System.String)">
            <summary>
            Gets an attached appender with the specified name.
            </summary>
            <param name="name">The name of the appender to get.</param>
            <returns>
            The appender with the name specified, or <c>null</c> if no appender with the
            specified name is found.
            </returns>
            <remarks>
            <para>
            Lookup an attached appender by name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAllAppenders">
            <summary>
            Removes all attached appenders.
            </summary>
            <remarks>
            <para>
            Removes and closes all attached appenders
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of attached appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderList">
            <summary>
            List of appenders
            </summary>
        </member>
        <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderArray">
            <summary>
            Array of appenders, used to cache the m_appenderList
            </summary>
        </member>
        <member name="F:log4net.Util.AppenderAttachedImpl.declaringType">
            <summary>
            The fully qualified type of the AppenderAttachedImpl class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.AppenderAttachedImpl.Appenders">
            <summary>
            Gets all attached appenders.
            </summary>
            <returns>
            A collection of attached appenders, or <c>null</c> if there
            are no attached appenders.
            </returns>
            <remarks>
            <para>
            The read only collection of all currently attached appenders.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.IXmlRepositoryConfigurator">
            <summary>
            Configure repository using XML
            </summary>
            <remarks>
            <para>
            Interface used by Xml configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            <para>
            A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
            configuration by the <see cref="T:log4net.Config.XmlConfigurator"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Initialize the repository using the specified config
            </summary>
            <param name="element">the element containing the root of the config</param>
            <remarks>
            <para>
            The schema for the XML configuration data is defined by
            the implementation.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator">
            <summary>
            Initializes the log4net environment using an XML DOM.
            </summary>
            <remarks>
            <para>
            Configures a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> using an XML DOM.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.#ctor(log4net.Repository.Hierarchy.Hierarchy)">
            <summary>
            Construct the configurator for a hierarchy
            </summary>
            <param name="hierarchy">The hierarchy to build.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator"/> class
            with the specified <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Configure the hierarchy by parsing a DOM tree of XML elements.
            </summary>
            <param name="element">The root element to parse.</param>
            <remarks>
            <para>
            Configure the hierarchy by parsing a DOM tree of XML elements.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)">
            <summary>
            Parse appenders by IDREF.
            </summary>
            <param name="appenderRef">The appender ref element.</param>
            <returns>The instance of the appender that the ref refers to.</returns>
            <remarks>
            <para>
            Parse an XML element that represents an appender and return 
            the appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)">
            <summary>
            Parses an appender element.
            </summary>
            <param name="appenderElement">The appender element.</param>
            <returns>The appender instance or <c>null</c> when parsing failed.</returns>
            <remarks>
            <para>
            Parse an XML element that represents an appender and return
            the appender instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)">
            <summary>
            Parses a logger element.
            </summary>
            <param name="loggerElement">The logger element.</param>
            <remarks>
            <para>
            Parse an XML element that represents a logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement)">
            <summary>
            Parses the root logger element.
            </summary>
            <param name="rootElement">The root element.</param>
            <remarks>
            <para>
            Parse an XML element that represents the root logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
            <summary>
            Parses the children of a logger element.
            </summary>
            <param name="catElement">The category element.</param>
            <param name="log">The logger instance.</param>
            <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
            <remarks>
            <para>
            Parse the child elements of a &lt;logger&gt; element.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRenderer(System.Xml.XmlElement)">
            <summary>
            Parses an object renderer.
            </summary>
            <param name="element">The renderer element.</param>
            <remarks>
            <para>
            Parse an XML element that represents a renderer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLevel(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
            <summary>
            Parses a level element.
            </summary>
            <param name="element">The level element.</param>
            <param name="log">The logger object to set the level on.</param>
            <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
            <remarks>
            <para>
            Parse an XML element that represents a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement,System.Object)">
            <summary>
            Sets a parameter on an object.
            </summary>
            <param name="element">The parameter element.</param>
            <param name="target">The object to set the parameter on.</param>
            <remarks>
            The parameter name must correspond to a writable property
            on the object. The value of the parameter is a string,
            therefore this function will attempt to set a string
            property first. If unable to set a string property it
            will inspect the property and its argument type. It will
            attempt to call a static method called <c>Parse</c> on the
            type of the property. This method will take a single
            string argument and return a value that can be used to
            set the property.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.HasAttributesOrElements(System.Xml.XmlElement)">
            <summary>
            Test if an element has no attributes or child elements
            </summary>
            <param name="element">the element to inspect</param>
            <returns><c>true</c> if the element has any attributes or child elements, <c>false</c> otherwise</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.IsTypeConstructible(System.Type)">
            <summary>
            Test if a <see cref="T:System.Type"/> is constructible with <c>Activator.CreateInstance</c>.
            </summary>
            <param name="type">the type to inspect</param>
            <returns><c>true</c> if the type is creatable using a default constructor, <c>false</c> otherwise</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindMethodInfo(System.Type,System.String)">
            <summary>
            Look for a method on the <paramref name="targetType"/> that matches the <paramref name="name"/> supplied
            </summary>
            <param name="targetType">the type that has the method</param>
            <param name="name">the name of the method</param>
            <returns>the method info found</returns>
            <remarks>
            <para>
            The method must be a public instance method on the <paramref name="targetType"/>.
            The method must be named <paramref name="name"/> or "Add" followed by <paramref name="name"/>.
            The method must take a single parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type,System.String)">
            <summary>
            Converts a string value to a target type.
            </summary>
            <param name="type">The type of object to convert the string to.</param>
            <param name="value">The string value to use as the value of the object.</param>
            <returns>
            <para>
            An object of type <paramref name="type"/> with value <paramref name="value"/> or 
            <c>null</c> when the conversion could not be performed.
            </para>
            </returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement,System.Type,System.Type)">
            <summary>
            Creates an object as specified in XML.
            </summary>
            <param name="element">The XML element that contains the definition of the object.</param>
            <param name="defaultTargetType">The object type to use if not explicitly specified.</param>
            <param name="typeConstraint">The type that the returned object must be or must inherit from.</param>
            <returns>The object or <c>null</c></returns>
            <remarks>
            <para>
            Parse an XML element and create an object instance based on the configuration
            data.
            </para>
            <para>
            The type of the instance may be specified in the XML. If not
            specified then the <paramref name="defaultTargetType"/> is used
            as the type. However the type is specified it must support the
            <paramref name="typeConstraint"/> type.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_appenderBag">
            <summary>
            key: appenderName, value: appender.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_hierarchy">
            <summary>
            The Hierarchy being configured.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.declaringType">
            <summary>
            The fully qualified type of the XmlHierarchyConfigurator class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Plugin.IPluginFactory">
            <summary>
            Interface used to create plugins.
            </summary>
            <remarks>
            <para>
            Interface used to create  a plugin.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.IPluginFactory.CreatePlugin">
            <summary>
            Creates the plugin object.
            </summary>
            <returns>the new plugin instance</returns>
            <remarks>
            <para>
            Create and return a new plugin instance.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.FilterDecision">
            <summary>
            The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
            </summary>
            <remarks>
            <para>
            The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.FilterDecision.Deny">
            <summary>
            The log event must be dropped immediately without 
            consulting with the remaining filters, if any, in the chain.
            </summary>
        </member>
        <member name="F:log4net.Filter.FilterDecision.Neutral">
            <summary>
            This filter is neutral with respect to the log event. 
            The remaining filters, if any, should be consulted for a final decision.
            </summary>
        </member>
        <member name="F:log4net.Filter.FilterDecision.Accept">
            <summary>
            The log event must be logged immediately without 
            consulting with the remaining filters, if any, in the chain.
            </summary>
        </member>
        <member name="T:log4net.Core.LevelMap">
            <summary>
            Mapping between string name and Level object
            </summary>
            <remarks>
            <para>
            Mapping between string name and <see cref="T:log4net.Core.Level"/> object.
            This mapping is held separately for each <see cref="T:log4net.Repository.ILoggerRepository"/>.
            The level name is case insensitive.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.LevelMap.m_mapName2Level">
            <summary>
            Mapping from level name to Level object. The
            level name is case insensitive
            </summary>
        </member>
        <member name="M:log4net.Core.LevelMap.#ctor">
            <summary>
            Construct the level map
            </summary>
            <remarks>
            <para>
            Construct the level map.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.Clear">
            <summary>
            Clear the internal maps of all levels
            </summary>
            <remarks>
            <para>
            Clear the internal maps of all levels
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32)">
            <summary>
            Create a new Level and add it to the map
            </summary>
            <param name="name">the string to display for the Level</param>
            <param name="value">the level value to give to the Level</param>
            <remarks>
            <para>
            Create a new Level and add it to the map
            </para>
            </remarks>
            <seealso cref="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)"/>
        </member>
        <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)">
            <summary>
            Create a new Level and add it to the map
            </summary>
            <param name="name">the string to display for the Level</param>
            <param name="value">the level value to give to the Level</param>
            <param name="displayName">the display name to give to the Level</param>
            <remarks>
            <para>
            Create a new Level and add it to the map
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.Add(log4net.Core.Level)">
            <summary>
            Add a Level to the map
            </summary>
            <param name="level">the Level to add</param>
            <remarks>
            <para>
            Add a Level to the map
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.LookupWithDefault(log4net.Core.Level)">
            <summary>
            Lookup a named level from the map
            </summary>
            <param name="defaultLevel">the name of the level to lookup is taken from this level. 
            If the level is not set on the map then this level is added</param>
            <returns>the level in the map with the name specified</returns>
            <remarks>
            <para>
            Lookup a named level from the map. The name of the level to lookup is taken
            from the <see cref="P:log4net.Core.Level.Name"/> property of the <paramref name="defaultLevel"/>
            argument.
            </para>
            <para>
            If no level with the specified name is found then the 
            <paramref name="defaultLevel"/> argument is added to the level map
            and returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LevelMap.Item(System.String)">
            <summary>
            Lookup a <see cref="T:log4net.Core.Level"/> by name
            </summary>
            <param name="name">The name of the Level to lookup</param>
            <returns>a Level from the map with the name specified</returns>
            <remarks>
            <para>
            Returns the <see cref="T:log4net.Core.Level"/> from the
            map with the name specified. If the no level is
            found then <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LevelMap.AllLevels">
            <summary>
            Return all possible levels as a list of Level objects.
            </summary>
            <returns>all possible levels as a list of Level objects</returns>
            <remarks>
            <para>
            Return all possible levels as a list of Level objects.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
            <summary>
            Class to register for the log4net section of the configuration file
            </summary>
            <remarks>
            The log4net section of the configuration file needs to have a section
            handler registered. This is the section handler used. It simply returns
            the XML element that is the root of the section.
            </remarks>
            <example>
            Example of registering the log4net section handler :
            <code lang="XML" escaped="true">
            <configuration>
            	<configSections>
            		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
            	</configSections>
            	<log4net>
            		log4net configuration XML goes here
            	</log4net>
            </configuration>
            </code>
            </example>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
            <summary>
            Parses the configuration section.
            </summary>
            <param name="parent">The configuration settings in a corresponding parent configuration section.</param>
            <param name="configContext">The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference.</param>
            <param name="section">The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</param>
            <returns>The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</returns>
            <remarks>
            <para>
            Returns the <see cref="T:System.Xml.XmlNode"/> containing the configuration data,
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.AliasDomainAttribute">
            <summary>
            Assembly level attribute that specifies a domain to alias to this assembly's repository.
            </summary>
            <remarks>
            <para>
            <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
            </para>
            <para>
            An assembly's logger repository is defined by its <see cref="T:log4net.Config.DomainAttribute"/>,
            however this can be overridden by an assembly loaded before the target assembly.
            </para>
            <para>
            An assembly can alias another assembly's domain to its repository by
            specifying this attribute with the name of the target domain.
            </para>
            <para>
            This attribute can only be specified on the assembly and may be used
            as many times as necessary to alias all the required domains.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Config.AliasRepositoryAttribute">
            <summary>
            Assembly level attribute that specifies a repository to alias to this assembly's repository.
            </summary>
            <remarks>
            <para>
            An assembly's logger repository is defined by its <see cref="T:log4net.Config.RepositoryAttribute"/>,
            however this can be overridden by an assembly loaded before the target assembly.
            </para>
            <para>
            An assembly can alias another assembly's repository to its repository by
            specifying this attribute with the name of the target repository.
            </para>
            <para>
            This attribute can only be specified on the assembly and may be used
            as many times as necessary to alias all the required repositories.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.AliasRepositoryAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute"/> class with 
            the specified repository to alias to this assembly's repository.
            </summary>
            <param name="name">The repository to alias to this assemby's repository.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute"/> class with 
            the specified repository to alias to this assembly's repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.AliasRepositoryAttribute.Name">
            <summary>
            Gets or sets the repository to alias to this assemby's repository.
            </summary>
            <value>
            The repository to alias to this assemby's repository.
            </value>
            <remarks>
            <para>
            The name of the repository to alias to this assemby's repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.AliasDomainAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasDomainAttribute"/> class with 
            the specified domain to alias to this assembly's repository.
            </summary>
            <param name="name">The domain to alias to this assemby's repository.</param>
            <remarks>
            <para>
            Obsolete. Use <see cref="T:log4net.Config.AliasRepositoryAttribute"/> instead of <see cref="T:log4net.Config.AliasDomainAttribute"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender">
            <summary>
            Logs events to a remote syslog daemon.
            </summary>
            <remarks>
            <para>
            The BSD syslog protocol is used to remotely log to
            a syslog daemon. The syslogd listens for for messages
            on UDP port 514.
            </para>
            <para>
            The syslog UDP protocol is not authenticated. Most syslog daemons
            do not accept remote log messages because of the security implications.
            You may be able to use the LocalSyslogAppender to talk to a local
            syslog service.
            </para>
            <para>
            There is an RFC 3164 that claims to document the BSD Syslog Protocol.
            This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html.
            This appender generates what the RFC calls an "Original Device Message",
            i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation
            this format of message will be accepted by all current syslog daemon
            implementations. The daemon will attach the current time and the source
            hostname or IP address to any messages received.
            </para>
            <para>
            Syslog messages must have a facility and and a severity. The severity
            is derived from the Level of the logging event.
            The facility must be chosen from the set of defined syslog 
            <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
            and cannot be extended.
            </para>
            <para>
            An identifier is specified with each log message. This can be specified
            by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know 
            as the tag) must not contain white space. The default value for the
            identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
            </para>
            </remarks>
            <author>Rob Lyon</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Appender.UdpAppender">
             <summary>
             Sends logging events as connectionless UDP datagrams to a remote host or a 
             multicast group using an <see cref="T:System.Net.Sockets.UdpClient"/>.
             </summary>
             <remarks>
             <para>
             UDP guarantees neither that messages arrive, nor that they arrive in the correct order.
             </para>
             <para>
             To view the logging results, a custom application can be developed that listens for logging 
             events.
             </para>
             <para>
             When decoding events send via this appender remember to use the same encoding
             to decode the events as was used to send the events. See the <see cref="P:log4net.Appender.UdpAppender.Encoding"/>
             property to specify the encoding to use.
             </para>
             </remarks>
             <example>
             This example shows how to log receive logging events that are sent 
             on IP address 244.0.0.1 and port 8080 to the console. The event is 
             encoded in the packet as a unicode string and it is decoded as such. 
             <code lang="C#">
             IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
             UdpClient udpClient;
             byte[] buffer;
             string loggingEvent;
             
             try 
             {
                 udpClient = new UdpClient(8080);
                 
                 while(true) 
                 {
                     buffer = udpClient.Receive(ref remoteEndPoint);
                     loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
                     Console.WriteLine(loggingEvent);
                 }
             } 
             catch(Exception e) 
             {
                 Console.WriteLine(e.ToString());
             }
             </code>
             <code lang="Visual Basic">
             Dim remoteEndPoint as IPEndPoint
             Dim udpClient as UdpClient
             Dim buffer as Byte()
             Dim loggingEvent as String
             
             Try 
                 remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
                 udpClient = new UdpClient(8080)
            
                 While True
                     buffer = udpClient.Receive(ByRef remoteEndPoint)
                     loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
                     Console.WriteLine(loggingEvent)
                 Wend
             Catch e As Exception
                 Console.WriteLine(e.ToString())
             End Try
             </code>
             <para>
             An example configuration section to log information using this appender to the 
             IP 224.0.0.1 on port 8080:
             </para>
             <code lang="XML" escaped="true">
             <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
                 <remoteAddress value="224.0.0.1"/>
                 <remotePort value="8080"/>
                 <layout type="log4net.Layout.PatternLayout" value="%-5level %logger [%ndc] - %message%newline"/>
             </appender>
             </code>
             </example>
             <author>Gert Driesen</author>
             <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.UdpAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.UdpAppender"/> class.
            </summary>
            <remarks>
            The default constructor initializes all fields to their default values.
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            The appender will be ignored if no <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was specified or 
            an invalid remote or local TCP port number was specified.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was not specified.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The TCP port number assigned to <see cref="P:log4net.Appender.UdpAppender.LocalPort"/> or <see cref="P:log4net.Appender.UdpAppender.RemotePort"/> is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="M:log4net.Appender.UdpAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Sends the event using an UDP datagram.
            </para>
            <para>
            Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.OnClose">
            <summary>
            Closes the UDP connection and releases all resources associated with 
            this <see cref="T:log4net.Appender.UdpAppender"/> instance.
            </summary>
            <remarks>
            <para>
            Disables the underlying <see cref="T:System.Net.Sockets.UdpClient"/> and releases all managed 
            and unmanaged resources associated with the <see cref="T:log4net.Appender.UdpAppender"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.InitializeClientConnection">
            <summary>
            Initializes the underlying  <see cref="T:System.Net.Sockets.UdpClient"/> connection.
            </summary>
            <remarks>
            <para>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> is initialized and binds to the 
            port number from which you intend to communicate.
            </para>
            <para>
            Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remoteAddress">
            <summary>
            The IP address of the remote host or multicast group to which 
            the logging event will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remotePort">
            <summary>
            The TCP port number of the remote host or multicast group to 
            which the logging event will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remoteEndPoint">
            <summary>
            The cached remote endpoint to which the logging events will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_localPort">
            <summary>
            The TCP port number from which the <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_client">
            <summary>
            The <see cref="T:System.Net.Sockets.UdpClient"/> instance that will be used for sending the 
            logging events.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_encoding">
            <summary>
            The encoding to use for the packet.
            </summary>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemoteAddress">
            <summary>
            Gets or sets the IP address of the remote host or multicast group to which
            the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
            </summary>
            <value>
            The IP address of the remote host or multicast group to which the logging event 
            will be sent.
            </value>
            <remarks>
            <para>
            Multicast addresses are identified by IP class <b>D</b> addresses (in the range 224.0.0.0 to
            239.255.255.255).  Multicast packets can pass across different networks through routers, so
            it is possible to use multicasts in an Internet scenario as long as your network provider 
            supports multicasting.
            </para>
            <para>
            Hosts that want to receive particular multicast messages must register their interest by joining
            the multicast group.  Multicast messages are not sent to networks where no host has joined
            the multicast group.  Class <b>D</b> IP addresses are used for multicast groups, to differentiate
            them from normal host addresses, allowing nodes to easily detect if a message is of interest.
            </para>
            <para>
            Static multicast addresses that are needed globally are assigned by IANA.  A few examples are listed in the table below:
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>IP Address</term>
                    <description>Description</description>
                </listheader>
                <item>
                    <term>224.0.0.1</term>
                    <description>
                        <para>
                        Sends a message to all system on the subnet.
                        </para>
                    </description>
                </item>
                <item>
                    <term>224.0.0.2</term>
                    <description>
                        <para>
                        Sends a message to all routers on the subnet.
                        </para>
                    </description>
                </item>
                <item>
                    <term>224.0.0.12</term>
                    <description>
                        <para>
                        The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            A complete list of actually reserved multicast addresses and their owners in the ranges
            defined by RFC 3171 can be found at the <A href="http://www.iana.org/assignments/multicast-addresses">IANA web site</A>. 
            </para>
            <para>
            The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative 
            addresses.  These addresses can be reused with other local groups.  Routers are typically 
            configured with filters to prevent multicast traffic in this range from flowing outside
            of the local network.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemotePort">
            <summary>
            Gets or sets the TCP port number of the remote host or multicast group to which 
            the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number of the remote host or multicast group to which the logging event 
            will be sent.
            </value>
            <remarks>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will send messages to this TCP port number
            on the remote host or multicast group.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.UdpAppender.LocalPort">
            <summary>
            Gets or sets the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </value>
            <remarks>
            <para>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will bind to this port for sending messages.
            </para>
            <para>
            Setting the value to 0 (the default) will cause the udp client not to bind to
            a local port.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.UdpAppender.Encoding">
            <summary>
            Gets or sets <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </value>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.Client">
            <summary>
            Gets or sets the underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
            </value>
            <remarks>
            <see cref="T:log4net.Appender.UdpAppender"/> creates a <see cref="T:System.Net.Sockets.UdpClient"/> to send logging events 
            over a network.  Classes deriving from <see cref="T:log4net.Appender.UdpAppender"/> can use this
            property to get or set this <see cref="T:System.Net.Sockets.UdpClient"/>.  Use the underlying <see cref="T:System.Net.Sockets.UdpClient"/>
            returned from <see cref="P:log4net.Appender.UdpAppender.Client"/> if you require access beyond that which 
            <see cref="T:log4net.Appender.UdpAppender"/> provides.
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemoteEndPoint">
            <summary>
            Gets or sets the cached remote endpoint to which the logging events should be sent.
            </summary>
            <value>
            The cached remote endpoint to which the logging events will be sent.
            </value>
            <remarks>
            The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method will initialize the remote endpoint 
            with the values of the <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> and <see cref="P:log4net.Appender.UdpAppender.RemotePort"/>
            properties.
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.DefaultSyslogPort">
            <summary>
            Syslog port 514
            </summary>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class.
            </summary>
            <remarks>
            This instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class is set up to write 
            to a remote syslog daemon.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.AddMapping(log4net.Appender.RemoteSyslogAppender.LevelSeverity)">
            <summary>
            Add a mapping of level to severity
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity"/> mapping to this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to a remote syslog daemon.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.ActivateOptions">
            <summary>
            Initialize the options for this appender
            </summary>
            <remarks>
            <para>
            Initialize the level to syslog severity mappings set on this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.GetSeverity(log4net.Core.Level)">
            <summary>
            Translates a log4net level to a syslog severity.
            </summary>
            <param name="level">A log4net level.</param>
            <returns>A syslog severity.</returns>
            <remarks>
            <para>
            Translates a log4net level to a syslog severity.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.GeneratePriority(log4net.Appender.RemoteSyslogAppender.SyslogFacility,log4net.Appender.RemoteSyslogAppender.SyslogSeverity)">
            <summary>
            Generate a syslog priority.
            </summary>
            <param name="facility">The syslog facility.</param>
            <param name="severity">The syslog severity.</param>
            <returns>A syslog priority.</returns>
            <remarks>
            <para>
            Generate a syslog priority.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.m_facility">
            <summary>
            The facility. The default facility is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.m_identity">
            <summary>
            The message identity
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.m_levelMapping">
            <summary>
            Mapping from level object to syslog severity
            </summary>
        </member>
        <member name="P:log4net.Appender.RemoteSyslogAppender.Identity">
            <summary>
            Message identity
            </summary>
            <remarks>
            <para>
            An identifier is specified with each log message. This can be specified
            by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know 
            as the tag) must not contain white space. The default value for the
            identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RemoteSyslogAppender.Facility">
            <summary>
            Syslog facility
            </summary>
            <remarks>
            Set to one of the <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The list of
            facilities is predefined and cannot be extended. The default value
            is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogSeverity">
            <summary>
            syslog severities
            </summary>
            <remarks>
            <para>
            The syslog severities.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Emergency">
            <summary>
            system is unusable
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Alert">
            <summary>
            action must be taken immediately
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Critical">
            <summary>
            critical conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Error">
            <summary>
            error conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Warning">
            <summary>
            warning conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Notice">
            <summary>
            normal but significant condition
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Informational">
            <summary>
            informational
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Debug">
            <summary>
            debug-level messages
            </summary>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility">
            <summary>
            syslog facilities
            </summary>
            <remarks>
            <para>
            The syslog facilities
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Kernel">
            <summary>
            kernel messages
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User">
            <summary>
            random user-level messages
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Mail">
            <summary>
            mail system
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Daemons">
            <summary>
            system daemons
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization">
            <summary>
            security/authorization messages
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Syslog">
            <summary>
            messages generated internally by syslogd
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Printer">
            <summary>
            line printer subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.News">
            <summary>
            network news subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Uucp">
            <summary>
            UUCP subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock">
            <summary>
            clock (cron/at) daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization2">
            <summary>
            security/authorization  messages (private)
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ftp">
            <summary>
            ftp daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ntp">
            <summary>
            NTP subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Audit">
            <summary>
            log audit
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Alert">
            <summary>
            log alert
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock2">
            <summary>
            clock daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local0">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local1">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local2">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local3">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local4">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local5">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local6">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local7">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the syslog severity that is should be logged at.
            </summary>
            <remarks>
            <para>
            A class to act as a mapping between the level that a logging call is made at and
            the syslog severity that is should be logged at.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RemoteSyslogAppender.LevelSeverity.Severity">
            <summary>
            The mapped syslog severity for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped syslog severity for the specified level
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.EventLogAppender">
            <summary>
            Writes events to the system event log.
            </summary>
            <remarks>
            <para>
            The appender will fail if you try to write using an event source that doesn't exist unless it is running with local administrator privileges.
            See also http://logging.apache.org/log4net/release/faq.html#trouble-EventLog
            </para>
            <para>
            The <c>EventID</c> of the event log entry can be
            set using the <c>EventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            </para>
            <para>
            The <c>Category</c> of the event log entry can be
            set using the <c>Category</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            </para>
            <para>
            There is a limit of 32K characters for an event log message
            </para>
            <para>
            When configuring the EventLogAppender a mapping can be
            specified to map a logging level to an event log entry type. For example:
            </para>
            <code lang="XML">
            &lt;mapping&gt;
            	&lt;level value="ERROR" /&gt;
            	&lt;eventLogEntryType value="Error" /&gt;
            &lt;/mapping&gt;
            &lt;mapping&gt;
            	&lt;level value="DEBUG" /&gt;
            	&lt;eventLogEntryType value="Information" /&gt;
            &lt;/mapping&gt;
            </code>
            <para>
            The Level is the standard log4net logging level and eventLogEntryType can be any value
            from the <see cref="T:System.Diagnostics.EventLogEntryType"/> enum, i.e.:
            <list type="bullet">
            <item><term>Error</term><description>an error event</description></item>
            <item><term>Warning</term><description>a warning event</description></item>
            <item><term>Information</term><description>an informational event</description></item>
            </list>
            </para>
            </remarks>
            <author>Aspi Havewala</author>
            <author>Douglas de la Torre</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Thomas Voss</author>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class
            with the specified <see cref="T:log4net.Layout.ILayout"/>.
            </summary>
            <param name="layout">The <see cref="T:log4net.Layout.ILayout"/> to use with this appender.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.AddMapping(log4net.Appender.EventLogAppender.Level2EventLogEntryType)">
            <summary>
            Add a mapping of level to <see cref="T:System.Diagnostics.EventLogEntryType"/> - done by the config file
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType"/> mapping to this appender.
            Each mapping defines the event log entry type for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.CreateEventSource(System.String,System.String,System.String)">
            <summary>
            Create an event log source
            </summary>
            <remarks>
            Uses different API calls under NET_2_0
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Writes the event to the system event log using the 
            <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>.</para>
            
            <para>If the event has an <c>EventID</c> property (see <see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            set then this integer will be used as the event log event id.</para>
            
            <para>
            There is a limit of 32K characters for an event log message
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.GetEntryType(log4net.Core.Level)">
            <summary>
            Get the equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="level"/>
            </summary>
            <param name="level">the Level to convert to an EventLogEntryType</param>
            <returns>The equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="level"/></returns>
            <remarks>
            Because there are fewer applicable <see cref="T:System.Diagnostics.EventLogEntryType"/>
            values to use in logging levels than there are in the 
            <see cref="T:log4net.Core.Level"/> this is a one way mapping. There is
            a loss of information during the conversion.
            </remarks>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_logName">
            <summary>
            The log name is the section in the event logs where the messages
            are stored.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_applicationName">
            <summary>
            Name of the application to use when logging.  This appears in the
            application column of the event log named by <see cref="F:log4net.Appender.EventLogAppender.m_logName"/>.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_machineName">
            <summary>
            The name of the machine which holds the event log. This is
            currently only allowed to be '.' i.e. the current machine.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_levelMapping">
            <summary>
            Mapping from level object to EventLogEntryType
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_eventId">
            <summary>
            The event ID to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_category">
            <summary>
            The event category to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.declaringType">
            <summary>
            The fully qualified type of the EventLogAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.LogName">
            <summary>
            The name of the log where messages will be stored.
            </summary>
            <value>
            The string name of the log where messages will be stored.
            </value>
            <remarks>
            <para>This is the name of the log as it appears in the Event Viewer
            tree. The default value is to log into the <c>Application</c>
            log, this is where most applications write their events. However
            if you need a separate log for your application (or applications)
            then you should set the <see cref="P:log4net.Appender.EventLogAppender.LogName"/> appropriately.</para>
            <para>This should not be used to distinguish your event log messages
            from those of other applications, the <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>
            property should be used to distinguish events. This property should be 
            used to group together events into a single log.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.ApplicationName">
            <summary>
            Property used to set the Application name.  This appears in the
            event logs when logging.
            </summary>
            <value>
            The string used to distinguish events from different sources.
            </value>
            <remarks>
            Sets the event log source property.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.MachineName">
            <summary>
            This property is used to return the name of the computer to use
            when accessing the event logs.  Currently, this is the current
            computer, denoted by a dot "."
            </summary>
            <value>
            The string name of the machine holding the event log that 
            will be logged into.
            </value>
            <remarks>
            This property cannot be changed. It is currently set to '.'
            i.e. the local machine. This may be changed in future.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
            </value>
            <remarks>
            <para>
            The system security context used to write to the EventLog.
            </para>
            <para>
            Unless a <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.EventId">
            <summary>
            Gets or sets the <c>EventId</c> to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
            <remarks>
            <para>
            The <c>EventID</c> of the event log entry will normally be
            set using the <c>EventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            This property provides the fallback value which defaults to 0.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.Category">
            <summary>
            Gets or sets the <c>Category</c> to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
            <remarks>
            <para>
            The <c>Category</c> of the event log entry will normally be
            set using the <c>Category</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            This property provides the fallback value which defaults to 0.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
            <remarks>
            <para>
            Defines the mapping between a level and its event log entry type.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType">
            <summary>
            The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
            </summary>
            <remarks>
            <para>
            Required property.
            The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.LineLocationPatternConverter">
            <summary>
            Write the caller location line number to the output
            </summary>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
            the event to the output writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.LineLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the caller location line number to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
            the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.LevelPatternConverter">
            <summary>
            Write the event level to the output
            </summary>
            <remarks>
            <para>
            Writes the display name of the event <see cref="P:log4net.Core.LoggingEvent.Level"/>
            to the writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.LevelPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the event level to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.Level.DisplayName"/> of the <paramref name="loggingEvent"/> <see cref="P:log4net.Core.LoggingEvent.Level"/>
            to the <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.MdcFilter">
            <summary>
            Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
            </summary>
            <remarks>
            <para>
            Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
            </para>
            <para>
            As the MDC has been replaced with layered properties the
            <see cref="T:log4net.Filter.PropertyFilter"/> should be used instead.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Filter.PropertyFilter">
            <summary>
            Simple filter to match a string an event property
            </summary>
            <remarks>
            <para>
            Simple filter to match a string in the value for a
            specific event property
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Filter.StringMatchFilter">
            <summary>
            Simple filter to match a string in the rendered message
            </summary>
            <remarks>
            <para>
            Simple filter to match a string in the rendered message
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behavior when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_stringToMatch">
            <summary>
            The string to substring match against the message
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_stringRegexToMatch">
            <summary>
            A string regex to match
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_regexToMatch">
            <summary>
            A regex object to match (generated from m_stringRegexToMatch)
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.ActivateOptions">
            <summary>
            Initialize and precompile the Regex if required
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            The rendered message is matched against the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
            the message then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.StringToMatch">
            <summary>
            Sets the static string to match
            </summary>
            <remarks>
            <para>
            The string that will be substring matched against
            the rendered message. If the message contains this
            string then the filter will match. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
            </para>
            <para>
            One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
            must be specified.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.RegexToMatch">
            <summary>
            Sets the regular expression to match
            </summary>
            <remarks>
            <para>
            The regular expression pattern that will be matched against
            the rendered message. If the message matches this
            pattern then the filter will match. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
            </para>
            <para>
            One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
            must be specified.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.PropertyFilter.m_key">
            <summary>
            The key to use to lookup the string from the event properties
            </summary>
        </member>
        <member name="M:log4net.Filter.PropertyFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.PropertyFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            The event property for the <see cref="P:log4net.Filter.PropertyFilter.Key"/> is matched against 
            the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
            the property value then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.PropertyFilter.Key">
            <summary>
            The key to lookup in the event properties and then match against.
            </summary>
            <remarks>
            <para>
            The key name to use to lookup in the properties map of the
            <see cref="T:log4net.Core.LoggingEvent"/>. The match will be performed against 
            the value of this property if it exists.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LevelCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Core.Level"/> objects.
            </summary>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.LevelCollection.ReadOnly(log4net.Core.LevelCollection)">
            <summary>
            Creates a read-only wrapper for a <c>LevelCollection</c> instance.
            </summary>
            <param name="list">list to create a readonly wrapper arround</param>
            <returns>
            A <c>LevelCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>LevelCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <c>LevelCollection</c>.
            </summary>
            <param name="c">The <c>LevelCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.Level[])">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Core.Level"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="tag"></param>
        </member>
        <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[])">
            <summary>
            Copies the entire <c>LevelCollection</c> to a one-dimensional
            <see cref="T:log4net.Core.Level"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[],System.Int32)">
            <summary>
            Copies the entire <c>LevelCollection</c> to a one-dimensional
            <see cref="T:log4net.Core.Level"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.Add(log4net.Core.Level)">
            <summary>
            Adds a <see cref="T:log4net.Core.Level"/> to the end of the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.Clear">
            <summary>
            Removes all elements from the <c>LevelCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Core.LevelCollection"/>.
            </summary>
            <returns>A new <see cref="T:log4net.Core.LevelCollection"/> with a shallow copy of the collection data.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.Contains(log4net.Core.Level)">
            <summary>
            Determines whether a given <see cref="T:log4net.Core.Level"/> is in the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>LevelCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.IndexOf(log4net.Core.Level)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Core.Level"/>
            in the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to locate in the <c>LevelCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>LevelCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.Insert(System.Int32,log4net.Core.Level)">
            <summary>
            Inserts an element into the <c>LevelCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.Remove(log4net.Core.Level)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Core.Level"/> from the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to remove from the <c>LevelCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Core.Level"/> was not found in the <c>LevelCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>LevelCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>LevelCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Core.LevelCollection.Enumerator"/> for the entire <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.LevelCollection)">
            <summary>
            Adds the elements of another <c>LevelCollection</c> to the current <c>LevelCollection</c>.
            </summary>
            <param name="x">The <c>LevelCollection</c> whose elements should be added to the end of the current <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.Level[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Core.Level"/> array to the current <c>LevelCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Core.Level"/> array whose elements should be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Core.Level"/> collection to the current <c>LevelCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements should be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Core.LevelCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>LevelCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <value>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</value>
        </member>
        <member name="P:log4net.Core.LevelCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Core.Level"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Core.LevelCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Core.LevelCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value>true if the collection is read-only; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Core.LevelCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>LevelCollection</c> can contain.
            </summary>
        </member>
        <member name="T:log4net.Core.LevelCollection.ILevelCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Core.LevelCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
        </member>
        <member name="F:log4net.Core.LevelCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Core.LevelCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.Enumerator.#ctor(log4net.Core.LevelCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Core.LevelCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Core.LoggerRepositoryCreationEventHandler">
            <summary>
            Delegate used to handle logger repository creation event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Core.IRepositorySelector"/> which created the repository.</param>
            <param name="e">The <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> event args
            that holds the <see cref="T:log4net.Repository.ILoggerRepository"/> instance that has been created.</param>
            <remarks>
            <para>
            Delegate used to handle logger repository creation event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggerRepositoryCreationEventArgs">
            <summary>
            Provides data for the <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
            </summary>
            <remarks>
            <para>
            A <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> 
            event is raised every time a <see cref="T:log4net.Repository.ILoggerRepository"/> is created.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerRepositoryCreationEventArgs.m_repository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created
            </summary>
        </member>
        <member name="M:log4net.Core.LoggerRepositoryCreationEventArgs.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            </summary>
            <param name="repository">the <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created</param>
            <remarks>
            <para>
            Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggerRepositoryCreationEventArgs.LoggerRepository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </value>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.IRepositorySelector">
            <summary>
            Interface used by the <see cref="T:log4net.LogManager"/> to select the <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.LogManager"/> uses a <see cref="T:log4net.Core.IRepositorySelector"/> 
            to specify the policy for selecting the correct <see cref="T:log4net.Repository.ILoggerRepository"/> 
            to return to the caller.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="assembly">The assembly to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </para>
            <para>
            How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
            is made is not defined. The implementation may choose any method for
            this association. The results of this method must be repeatable, i.e.
            when called again with the same arguments the result must be the
            save value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.String)">
            <summary>
            Gets the named <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repositoryName">The name to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
            <remarks>
            Lookup a named <see cref="T:log4net.Repository.ILoggerRepository"/>. This is the repository created by
            calling <see cref="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)"/>.
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a new repository for the assembly specified.
            </summary>
            <param name="assembly">The assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            <para>
            How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
            is made is not defined. The implementation may choose any method for
            this association.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a new repository with the name specified.
            </summary>
            <param name="repositoryName">The name to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the name
            specified such that a call to <see cref="M:log4net.Core.IRepositorySelector.GetRepository(System.String)"/> with the
            same name will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.ExistsRepository(System.String)">
            <summary>
            Test if a named repository exists
            </summary>
            <param name="repositoryName">the named repository to check</param>
            <returns><c>true</c> if the repository exists</returns>
            <remarks>
            <para>
            Test if a named repository exists. Use <see cref="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)"/>
            to create a new repository and <see cref="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)"/> to retrieve 
            a repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.GetAllRepositories">
            <summary>
            Gets an array of all currently defined repositories.
            </summary>
            <returns>
            An array of the <see cref="T:log4net.Repository.ILoggerRepository"/> instances created by 
            this <see cref="T:log4net.Core.IRepositorySelector"/>.</returns>
            <remarks>
            <para>
            Gets an array of all of the repositories created by this selector.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent">
            <summary>
            Event to notify that a logger repository has been created.
            </summary>
            <value>
            Event to notify that a logger repository has been created.
            </value>
            <remarks>
            <para>
            Event raised when a new repository is created.
            The event source will be this selector. The event args will
            be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
            holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.ExceptionEvaluator">
            <summary>
            An evaluator that triggers on an Exception type
            </summary>
            <remarks>
            <para>
            This evaluator will trigger if the type of the Exception
            passed to <see cref="M:log4net.Core.ExceptionEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is equal to a Type in <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.    /// 
            </para>
            </remarks>
            <author>Drew Schaeffer</author>
        </member>
        <member name="F:log4net.Core.ExceptionEvaluator.m_type">
            <summary>
            The type that causes the trigger to fire.
            </summary>
        </member>
        <member name="F:log4net.Core.ExceptionEvaluator.m_triggerOnSubclass">
            <summary>
            Causes subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/> to cause the trigger to fire.
            </summary>
        </member>
        <member name="M:log4net.Core.ExceptionEvaluator.#ctor">
            <summary>
            Default ctor to allow dynamic creation through a configurator.
            </summary>
        </member>
        <member name="M:log4net.Core.ExceptionEvaluator.#ctor(System.Type,System.Boolean)">
            <summary>
            Constructs an evaluator and initializes to trigger on <paramref name="exType"/>
            </summary>
            <param name="exType">the type that triggers this evaluator.</param>
            <param name="triggerOnSubClass">If true, this evaluator will trigger on subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.</param>
        </member>
        <member name="M:log4net.Core.ExceptionEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Is this <paramref name="loggingEvent"/> the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns>This method returns <c>true</c>, if the logging event Exception 
            Type is <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>. 
            Otherwise it returns <c>false</c></returns>
            <remarks>
            <para>
            This evaluator will trigger if the Exception Type of the event
            passed to <see cref="M:log4net.Core.ExceptionEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
            is <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.ExceptionEvaluator.ExceptionType">
            <summary>
            The type that triggers this evaluator.
            </summary>
        </member>
        <member name="P:log4net.Core.ExceptionEvaluator.TriggerOnSubclass">
            <summary>
            If true, this evaluator will trigger on subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
            </summary>
        </member>
        <member name="T:log4net.Config.DOMConfiguratorAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
            </summary>
            <remarks>
            <para>
            <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
            </para>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
            without calling one of the <see cref="M:log4net.Config.XmlConfigurator.Configure"/>
            methods.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Config.XmlConfiguratorAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
            </summary>
            <remarks>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
            without calling one of the <see cref="M:log4net.Config.XmlConfigurator.Configure"/>
            methods.
            </para>
            <para>
            If neither of the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>
            properties are set the configuration is loaded from the application's .config file.
            If set the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property takes priority over the
            <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property
            specifies a path to a file to load the config from. The path is relative to the
            application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property is used as a postfix to the assembly file name.
            The config file must be located in the  application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
            For example in a console application setting the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> to
            <c>config</c> has the same effect as not specifying the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or 
            <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> properties.
            </para>
            <para>
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.Watch"/> property can be set to cause the <see cref="T:log4net.Config.XmlConfigurator"/>
            to watch the configuration file for changes.
            </para>
            <note>
            <para>
            Log4net will only look for assembly level configuration attributes once.
            When using the log4net assembly level attributes to control the configuration 
            of log4net you must ensure that the first call to any of the 
            <see cref="T:log4net.Core.LoggerManager"/> methods is made from the assembly with the configuration
            attributes. 
            </para>
            <para>
            If you cannot guarantee the order in which log4net calls will be made from 
            different assemblies you must use programmatic configuration instead, i.e.
            call the <see cref="M:log4net.Config.XmlConfigurator.Configure"/> method directly.
            </para>
            </note>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
            <remarks>
            <para>
            Configure the repository using the <see cref="T:log4net.Config.XmlConfigurator"/>.
            The <paramref name="targetRepository"/> specified must extend the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>
            class otherwise the <see cref="T:log4net.Config.XmlConfigurator"/> will not be able to
            configure it.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="targetRepository"/> does not extend <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.</exception>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Attempt to load configuration from the local file system
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configure the specified repository using a <see cref="T:System.IO.FileInfo"/>
            </summary>
            <param name="targetRepository">The repository to configure.</param>
            <param name="configFile">the FileInfo pointing to the config file</param>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromUri(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Attempt to load configuration from a URI
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
        </member>
        <member name="F:log4net.Config.XmlConfiguratorAttribute.declaringType">
            <summary>
            The fully qualified type of the XmlConfiguratorAttribute class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile">
            <summary>
            Gets or sets the filename of the configuration file.
            </summary>
            <value>
            The filename of the configuration file.
            </value>
            <remarks>
            <para>
            If specified, this is the name of the configuration file to use with
            the <see cref="T:log4net.Config.XmlConfigurator"/>. This file path is relative to the
            <b>application base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>).
            </para>
            <para>
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension">
            <summary>
            Gets or sets the extension of the configuration file.
            </summary>
            <value>
            The extension of the configuration file.
            </value>
            <remarks>
            <para>
            If specified this is the extension for the configuration file.
            The path to the config file is built by using the <b>application 
            base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>),
            the <b>assembly file name</b> and the config file extension.
            </para>
            <para>
            If the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> is set to <c>MyExt</c> then
            possible config file names would be: <c>MyConsoleApp.exe.MyExt</c> or
            <c>MyClassLibrary.dll.MyExt</c>.
            </para>
            <para>
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.XmlConfiguratorAttribute.Watch">
            <summary>
            Gets or sets a value indicating whether to watch the configuration file.
            </summary>
            <value>
            <c>true</c> if the configuration should be watched, <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            If this flag is specified and set to <c>true</c> then the framework
            will watch the configuration file and will reload the config each time 
            the file is modified.
            </para>
            <para>
            The config file can only be watched if it is loaded from local disk.
            In a No-Touch (Smart Client) deployment where the application is downloaded
            from a web server the config file may not reside on the local disk
            and therefore it may not be able to watch it.
            </para>
            <note>
            Watching configuration is not supported on the SSCLI.
            </note>
            </remarks>
        </member>
        <member name="T:log4net.Appender.TraceAppender">
            <summary>
            Appends log events to the <see cref="T:System.Diagnostics.Trace"/> system.
            </summary>
            <remarks>
            <para>
            The application configuration file can be used to control what listeners 
            are actually used. See the MSDN documentation for the 
            <see cref="T:System.Diagnostics.Trace"/> class for details on configuring the
            trace system.
            </para>
            <para>
            Events are written using the <c>System.Diagnostics.Trace.Write(string,string)</c>
            method. The event's logger name is the default value for the category parameter 
            of the Write method. 
            </para>
            <para>
            <b>Compact Framework</b><br/>
            The Compact Framework does not support the <see cref="T:System.Diagnostics.Trace"/>
            class for any operation except <c>Assert</c>. When using the Compact Framework this
            appender will write to the <see cref="T:System.Diagnostics.Debug"/> system rather than
            the Trace system. This appender will therefore behave like the <see cref="T:log4net.Appender.DebugAppender"/>.
            </para>
            </remarks>
            <author>Douglas de la Torre</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Appender.TraceAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/>.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TraceAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/> 
            with a specified layout.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TraceAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TraceAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying writer or output stream
            will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.TraceAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logs events are not actually written to persistent media if and
            when the application crashes.
            </para>
            <para>
            The default value is <c>true</c>.</para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TraceAppender.m_category">
            <summary>
            Defaults to %logger
            </summary>
        </member>
        <member name="P:log4net.Appender.TraceAppender.ImmediateFlush">
            <summary>
            Gets or sets a value that indicates whether the appender will 
            flush at the end of each write.
            </summary>
            <remarks>
            <para>The default behavior is to flush at the end of each 
            write. If the option is set to<c>false</c>, then the underlying 
            stream can defer writing to physical medium to a later time. 
            </para>
            <para>
            Avoiding the flush operation at the end of each append results 
            in a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TraceAppender.Category">
            <summary>
            The category parameter sent to the Trace method.
            </summary>
            <remarks>
            <para>
            Defaults to %logger which will use the logger name of the current 
            <see cref="T:log4net.Core.LoggingEvent"/> as the category parameter.
            </para>
            <para>
            </para> 
            </remarks>
        </member>
        <member name="P:log4net.Appender.TraceAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.SmtpAppender">
            <summary>
            Send an e-mail when a specific logging event occurs, typically on errors 
            or fatal errors.
            </summary>
            <remarks>
            <para>
            The number of logging events delivered in this e-mail depend on
            the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
            <see cref="T:log4net.Appender.SmtpAppender"/> keeps only the last
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
            cyclic buffer. This keeps memory requirements at a reasonable level while 
            still delivering useful application context.
            </para>
            <note type="caution">
            Authentication and setting the server Port are only available on the MS .NET 1.1 runtime.
            For these features to be enabled you need to ensure that you are using a version of
            the log4net assembly that is built against the MS .NET 1.1 framework and that you are
            running the your application on the MS .NET 1.1 runtime. On all other platforms only sending
            unauthenticated messages to a server listening on port 25 (the default) is supported.
            </note>
            <para>
            Authentication is supported by setting the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property to
            either <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> or <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>.
            If using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> authentication then the <see cref="P:log4net.Appender.SmtpAppender.Username"/>
            and <see cref="P:log4net.Appender.SmtpAppender.Password"/> properties must also be set.
            </para>
            <para>
            To set the SMTP server port use the <see cref="P:log4net.Appender.SmtpAppender.Port"/> property. The default port is 25.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.SmtpAppender.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SmtpAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Sends the contents of the cyclic buffer as an e-mail message.
            </summary>
            <param name="events">The logging events to send.</param>
        </member>
        <member name="M:log4net.Appender.SmtpAppender.SendEmail(System.String)">
            <summary>
            Send the email message
            </summary>
            <param name="messageBody">the body text to include in the mail</param>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.To">
            <summary>
            Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses (use semicolon on .NET 1.1 and comma for later versions).
            </summary>
            <value>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </value>
            <remarks>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Cc">
            <summary>
            Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses 
            that will be carbon copied (use semicolon on .NET 1.1 and comma for later versions).
            </summary>
            <value>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </value>
            <remarks>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Bcc">
            <summary>
            Gets or sets a semicolon-delimited list of recipient e-mail addresses
            that will be blind carbon copied.
            </summary>
            <value>
            A semicolon-delimited list of e-mail addresses.
            </value>
            <remarks>
            <para>
            A semicolon-delimited list of recipient e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.From">
            <summary>
            Gets or sets the e-mail address of the sender.
            </summary>
            <value>
            The e-mail address of the sender.
            </value>
            <remarks>
            <para>
            The e-mail address of the sender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Subject">
            <summary>
            Gets or sets the subject line of the e-mail message.
            </summary>
            <value>
            The subject line of the e-mail message.
            </value>
            <remarks>
            <para>
            The subject line of the e-mail message.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.SmtpHost">
            <summary>
            Gets or sets the name of the SMTP relay mail server to use to send 
            the e-mail messages.
            </summary>
            <value>
            The name of the e-mail relay server. If SmtpServer is not set, the 
            name of the local SMTP server is used.
            </value>
            <remarks>
            <para>
            The name of the e-mail relay server. If SmtpServer is not set, the 
            name of the local SMTP server is used.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.LocationInfo">
            <summary>
            Obsolete
            </summary>
            <remarks>
            Use the BufferingAppenderSkeleton Fix methods instead 
            </remarks>
            <remarks>
            <para>
            Obsolete property.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Authentication">
            <summary>
            The mode to use to authentication with the SMTP server
            </summary>
            <remarks>
            <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
            <para>
            Valid Authentication mode values are: <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>, 
            <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, and <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>. 
            The default value is <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>. When using 
            <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> you must specify the <see cref="P:log4net.Appender.SmtpAppender.Username"/> 
            and <see cref="P:log4net.Appender.SmtpAppender.Password"/> to use to authenticate.
            When using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/> the Windows credentials for the current
            thread, if impersonating, or the process will be used to authenticate. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Username">
            <summary>
            The username to use to authenticate with the SMTP server
            </summary>
            <remarks>
            <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
            <para>
            A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when 
            <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, 
            otherwise the username will be ignored. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Password">
            <summary>
            The password to use to authenticate with the SMTP server
            </summary>
            <remarks>
            <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
            <para>
            A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when 
            <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, 
            otherwise the password will be ignored. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Port">
            <summary>
            The port on which the SMTP server is listening
            </summary>
            <remarks>
            <note type="caution">Server Port is only available on the MS .NET 1.1 runtime.</note>
            <para>
            The port on which the SMTP server is listening. The default
            port is <c>25</c>. The Port can only be changed when running on
            the MS .NET 1.1 runtime.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Priority">
            <summary>
            Gets or sets the priority of the e-mail message
            </summary>
            <value>
            One of the <see cref="T:System.Net.Mail.MailPriority"/> values.
            </value>
            <remarks>
            <para>
            Sets the priority of the e-mails generated by this
            appender. The default priority is <see cref="F:System.Net.Mail.MailPriority.Normal"/>.
            </para>
            <para>
            If you are using this appender to report errors then
            you may want to set the priority to <see cref="F:System.Net.Mail.MailPriority.High"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.EnableSsl">
            <summary>
            Enable or disable use of SSL when sending e-mail message
            </summary>
            <remarks>
            This is available on MS .NET 2.0 runtime and higher
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.ReplyTo">
            <summary>
            Gets or sets the reply-to e-mail address.
            </summary>
            <remarks>
            This is available on MS .NET 2.0 runtime and higher
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.SmtpAppender.SmtpAuthentication">
            <summary>
            Values for the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property.
            </summary>
            <remarks>
            <para>
            SMTP authentication modes.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None">
            <summary>
            No authentication
            </summary>
        </member>
        <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic">
            <summary>
            Basic authentication.
            </summary>
            <remarks>
            Requires a username and password to be supplied
            </remarks>
        </member>
        <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm">
            <summary>
            Integrated authentication
            </summary>
            <remarks>
            Uses the Windows credentials from the current thread or process to authenticate.
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.TypeConverterAttribute">
            <summary>
            Attribute used to associate a type converter
            </summary>
            <remarks>
            <para>
            Class and Interface level attribute that specifies a type converter
            to use with the associated type.
            </para>
            <para>
            To associate a type converter with a target type apply a
            <c>TypeConverterAttribute</c> to the target type. Specify the
            type of the type converter on the attribute.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Util.TypeConverters.TypeConverterAttribute.m_typeName">
            <summary>
            The string type name of the type converter
            </summary>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.String)">
            <summary>
            Create a new type converter attribute for the specified type name
            </summary>
            <param name="typeName">The string type name of the type converter</param>
            <remarks>
            <para>
            The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
            or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.Type)">
            <summary>
            Create a new type converter attribute for the specified type
            </summary>
            <param name="converterType">The type of the type converter</param>
            <remarks>
            <para>
            The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
            or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TypeConverters.TypeConverterAttribute.ConverterTypeName">
            <summary>
            The string type name of the type converter 
            </summary>
            <value>
            The string type name of the type converter 
            </value>
            <remarks>
            <para>
            The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
            or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.BooleanConverter">
            <summary>
            Type converter for Boolean.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <c>bool</c> type.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.BooleanConverter.ConvertFrom(System.Object)">
            <summary>
            Convert the source object to the type supported by this object
            </summary>
            <param name="source">the object to convert</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Uses the <see cref="M:System.Boolean.Parse(System.String)"/> method to convert the
            <see cref="T:System.String"/> argument to a <see cref="T:System.Boolean"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.ThreadContextStack">
            <summary>
            Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
            </summary>
            <remarks>
            <para>
            Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.ThreadContextStack.m_stack">
            <summary>
            The stack store.
            </summary>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.#ctor">
            <summary>
            Internal constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack"/> class. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.Clear">
            <summary>
            Clears all the contextual information held in this stack.
            </summary>
            <remarks>
            <para>
            Clears all the contextual information held in this stack.
            Only call this if you think that this tread is being reused after
            a previous call execution which may not have completed correctly.
            You do not need to use this method if you always guarantee to call
            the <see cref="M:System.IDisposable.Dispose"/> method of the <see cref="T:System.IDisposable"/>
            returned from <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> even in exceptional circumstances,
            for example by using the <c>using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))</c> 
            syntax.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.Pop">
            <summary>
            Removes the top context from this stack.
            </summary>
            <returns>The message in the context that was removed from the top of this stack.</returns>
            <remarks>
            <para>
            Remove the top context from this stack, and return
            it to the caller. If this stack is empty then an
            empty string (not <see langword="null"/>) is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.Push(System.String)">
            <summary>
            Pushes a new context message into this stack.
            </summary>
            <param name="message">The new context message.</param>
            <returns>
            An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
            </returns>
            <remarks>
            <para>
            Pushes a new context onto this stack. An <see cref="T:System.IDisposable"/>
            is returned that can be used to clean up this stack. This
            can be easily combined with the <c>using</c> keyword to scope the
            context.
            </para>
            </remarks>
            <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
            <code lang="C#">
            using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
            {
            	log.Warn("This should have an ThreadContext Stack message");
            }
            </code>
            </example>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.GetFullMessage">
            <summary>
            Gets the current context information for this stack.
            </summary>
            <returns>The current context information.</returns>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.ToString">
            <summary>
            Gets the current context information for this stack.
            </summary>
            <returns>Gets the current context information</returns>
            <remarks>
            <para>
            Gets the current context information for this stack.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
            <summary>
            Get a portable version of this object
            </summary>
            <returns>the portable instance of this object</returns>
            <remarks>
            <para>
            Get a cross thread portable version of this object
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.Count">
            <summary>
            The number of messages in the stack
            </summary>
            <value>
            The current number of messages in the stack
            </value>
            <remarks>
            <para>
            The current number of messages in the stack. That is
            the number of times <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> has been called
            minus the number of times <see cref="M:log4net.Util.ThreadContextStack.Pop"/> has been called.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.InternalStack">
            <summary>
            Gets and sets the internal stack used by this <see cref="T:log4net.Util.ThreadContextStack"/>
            </summary>
            <value>The internal storage stack</value>
            <remarks>
            <para>
            This property is provided only to support backward compatability 
            of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
            be modified.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextStack.StackFrame">
            <summary>
            Inner class used to represent a single context frame in the stack.
            </summary>
            <remarks>
            <para>
            Inner class used to represent a single context frame in the stack.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.ThreadContextStack.StackFrame)">
            <summary>
            Constructor
            </summary>
            <param name="message">The message for this context.</param>
            <param name="parent">The parent context in the chain.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.StackFrame"/> class
            with the specified message and parent context.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.StackFrame.Message">
            <summary>
            Get the message.
            </summary>
            <value>The message.</value>
            <remarks>
            <para>
            Get the message.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.StackFrame.FullMessage">
            <summary>
            Gets the full text of the context down to the root level.
            </summary>
            <value>
            The full text of the context down to the root level.
            </value>
            <remarks>
            <para>
            Gets the full text of the context down to the root level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextStack.AutoPopStackFrame">
            <summary>
            Struct returned from the <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> method.
            </summary>
            <remarks>
            <para>
            This struct implements the <see cref="T:System.IDisposable"/> and is designed to be used
            with the <see langword="using"/> pattern to remove the stack frame at the end of the scope.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameStack">
            <summary>
            The ThreadContextStack internal stack
            </summary>
        </member>
        <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameDepth">
            <summary>
            The depth to trim the stack to when this instance is disposed
            </summary>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.#ctor(System.Collections.Stack,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="frameStack">The internal stack used by the ThreadContextStack.</param>
            <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.AutoPopStackFrame"/> class with
            the specified stack and return depth.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.Dispose">
            <summary>
            Returns the stack to the correct depth.
            </summary>
            <remarks>
            <para>
            Returns the stack to the correct depth.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.ConfigurationChangedEventArgs">
            <summary>
            
            </summary>
        </member>
        <member name="M:log4net.Repository.ConfigurationChangedEventArgs.#ctor(System.Collections.ICollection)">
            <summary>
            
            </summary>
            <param name="configurationMessages"></param>
        </member>
        <member name="P:log4net.Repository.ConfigurationChangedEventArgs.ConfigurationMessages">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Plugin.IPlugin"/> objects.
            </summary>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ReadOnly(log4net.Plugin.PluginCollection)">
            <summary>
            Creates a read-only wrapper for a <c>PluginCollection</c> instance.
            </summary>
            <param name="list">list to create a readonly wrapper arround</param>
            <returns>
            A <c>PluginCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>PluginCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <c>PluginCollection</c>.
            </summary>
            <param name="c">The <c>PluginCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.IPlugin[])">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="tag"></param>
            <exclude/>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[])">
            <summary>
            Copies the entire <c>PluginCollection</c> to a one-dimensional
            <see cref="T:log4net.Plugin.IPlugin"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[],System.Int32)">
            <summary>
            Copies the entire <c>PluginCollection</c> to a one-dimensional
            <see cref="T:log4net.Plugin.IPlugin"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Add(log4net.Plugin.IPlugin)">
            <summary>
            Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the end of the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Clear">
            <summary>
            Removes all elements from the <c>PluginCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
            <returns>A new <see cref="T:log4net.Plugin.PluginCollection"/> with a shallow copy of the collection data.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Contains(log4net.Plugin.IPlugin)">
            <summary>
            Determines whether a given <see cref="T:log4net.Plugin.IPlugin"/> is in the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>PluginCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IndexOf(log4net.Plugin.IPlugin)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Plugin.IPlugin"/>
            in the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to locate in the <c>PluginCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>PluginCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Insert(System.Int32,log4net.Plugin.IPlugin)">
            <summary>
            Inserts an element into the <c>PluginCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Remove(log4net.Plugin.IPlugin)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Plugin.IPlugin"/> from the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the <c>PluginCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Plugin.IPlugin"/> was not found in the <c>PluginCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>PluginCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>PluginCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Plugin.PluginCollection.Enumerator"/> for the entire <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.PluginCollection)">
            <summary>
            Adds the elements of another <c>PluginCollection</c> to the current <c>PluginCollection</c>.
            </summary>
            <param name="x">The <c>PluginCollection</c> whose elements should be added to the end of the current <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.IPlugin[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> array to the current <c>PluginCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements should be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> collection to the current <c>PluginCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements should be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>PluginCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
            <value>
            An object that can be used to synchronize access to the collection.
            </value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
            </value>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value><c>true</c> if the collection has a fixed size; otherwise, <c>false</c>. The default is <c>false</c>.</value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value><c>true</c> if the collection is read-only; otherwise, <c>false</c>. The default is <c>false</c>.</value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>PluginCollection</c> can contain.
            </summary>
            <value>
            The number of elements the <c>PluginCollection</c> can contain.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
            <exclude/>
        </member>
        <member name="F:log4net.Plugin.PluginCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.#ctor(log4net.Plugin.PluginCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
            <value>
            The current element in the collection.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.ReadOnlyPluginCollection">
            <exclude/>
        </member>
        <member name="T:log4net.Layout.Pattern.ThreadPatternConverter">
            <summary>
            Converter to include event thread name
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.ThreadPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the ThreadName to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.PatternLayout">
            <summary>
            A flexible layout configurable with pattern string.
            </summary>
            <remarks>
            <para>
            The goal of this class is to <see cref="M:log4net.Layout.PatternLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/> a 
            <see cref="T:log4net.Core.LoggingEvent"/> as a string. The results
            depend on the <i>conversion pattern</i>.
            </para>
            <para>
            The conversion pattern is closely related to the conversion
            pattern of the printf function in C. A conversion pattern is
            composed of literal text and format control expressions called
            <i>conversion specifiers</i>.
            </para>
            <para>
            <i>You are free to insert any literal text within the conversion
            pattern.</i>
            </para>
            <para>
            Each conversion specifier starts with a percent sign (%) and is
            followed by optional <i>format modifiers</i> and a <i>conversion
            pattern name</i>. The conversion pattern name specifies the type of
            data, e.g. logger, level, date, thread name. The format
            modifiers control such things as field width, padding, left and
            right justification. The following is a simple example.
            </para>
            <para>
            Let the conversion pattern be <b>"%-5level [%thread]: %message%newline"</b> and assume
            that the log4net environment was set to use a PatternLayout. Then the
            statements
            </para>
            <code lang="C#">
            ILog log = LogManager.GetLogger(typeof(TestApp));
            log.Debug("Message 1");
            log.Warn("Message 2");   
            </code>
            <para>would yield the output</para>
            <code>
            DEBUG [main]: Message 1
            WARN  [main]: Message 2  
            </code>
            <para>
            Note that there is no explicit separator between text and
            conversion specifiers. The pattern parser knows when it has reached
            the end of a conversion specifier when it reads a conversion
            character. In the example above the conversion specifier
            <b>%-5level</b> means the level of the logging event should be left
            justified to a width of five characters.
            </para>
            <para>
            The recognized conversion pattern names are:
            </para>
            <list type="table">
                <listheader>
                    <term>Conversion Pattern Name</term>
                    <description>Effect</description>
                </listheader>
                <item>
                    <term>a</term>
                    <description>Equivalent to <b>appdomain</b></description>
                </item>
                <item>
                    <term>appdomain</term>
                    <description>
            			Used to output the friendly name of the AppDomain where the 
            			logging event was generated. 
                    </description>
                </item>
                <item>
                    <term>aspnet-cache</term>
                    <description>
                        <para>
                        Used to output all cache items in the case of <b>%aspnet-cache</b> or just one named item if used as <b>%aspnet-cache{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>aspnet-context</term>
                    <description>
                        <para>
                        Used to output all context items in the case of <b>%aspnet-context</b> or just one named item if used as <b>%aspnet-context{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>aspnet-request</term>
                    <description>
                        <para>
                        Used to output all request parameters in the case of <b>%aspnet-request</b> or just one named param if used as <b>%aspnet-request{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>aspnet-session</term>
                    <description>
                        <para>
                        Used to output all session items in the case of <b>%aspnet-session</b> or just one named item if used as <b>%aspnet-session{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>c</term>
                    <description>Equivalent to <b>logger</b></description>
                </item>
                <item>
                    <term>C</term>
                    <description>Equivalent to <b>type</b></description>
                </item>
                <item>
                    <term>class</term>
                    <description>Equivalent to <b>type</b></description>
                </item>
                <item>
                    <term>d</term>
                    <description>Equivalent to <b>date</b></description>
                </item>
                <item>
            		<term>date</term> 
            		<description>
            			<para>
            			Used to output the date of the logging event in the local time zone. 
            			To output the date in universal time use the <c>%utcdate</c> pattern.
            			The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
            			<b>%date{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:System.DateTime.ToString(System.String)"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
            			<b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:System.DateTime.ToString(System.String)"/>.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>exception</term>
            		<description>
            			<para>
            			Used to output the exception passed in with the log message.
            			</para>
            			<para>
            			If an exception object is stored in the logging event
            			it will be rendered into the pattern output with a
            			trailing newline.
            			If there is no exception then nothing will be output
            			and no trailing newline will be appended.
            			It is typical to put a newline before the exception
            			and to have the exception as the last data in the pattern.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>F</term>
                    <description>Equivalent to <b>file</b></description>
                </item>
            	<item>
            		<term>file</term>
            		<description>
            			<para>
            			Used to output the file name where the logging request was
            			issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>identity</term>
            		<description>
            			<para>
            			Used to output the user name for the currently active user
            			(Principal.Identity.Name).
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>l</term>
                    <description>Equivalent to <b>location</b></description>
                </item>
                <item>
                    <term>L</term>
                    <description>Equivalent to <b>line</b></description>
                </item>
            	<item>
            		<term>location</term>
            		<description>
            			<para>
            			Used to output location information of the caller which generated
            			the logging event.
            			</para>
            			<para>
            			The location information depends on the CLI implementation but
            			usually consists of the fully qualified name of the calling
            			method followed by the callers source the file name and line
            			number between parentheses.
            			</para>
            			<para>
            			The location information can be very useful. However, its
            			generation is <b>extremely</b> slow. Its use should be avoided
            			unless execution speed is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>level</term>
            		<description>
            			<para>
            			Used to output the level of the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>line</term>
            		<description>
            			<para>
            			Used to output the line number from where the logging request
            			was issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>logger</term>
                    <description>
                        <para>
            			Used to output the logger of the logging event. The
            			logger conversion specifier can be optionally followed by
            			<i>precision specifier</i>, that is a decimal constant in
            			brackets.
                        </para>
            			<para>
            			If a precision specifier is given, then only the corresponding
            			number of right most components of the logger name will be
            			printed. By default the logger name is printed in full.
            			</para>
            			<para>
            			For example, for the logger name "a.b.c" the pattern
            			<b>%logger{2}</b> will output "b.c".
            			</para>
                    </description>
                </item>
                <item>
                    <term>m</term>
                    <description>Equivalent to <b>message</b></description>
                </item>
                <item>
                    <term>M</term>
                    <description>Equivalent to <b>method</b></description>
                </item>
            	<item>
            		<term>message</term>
            		<description>
            			<para>
            			Used to output the application supplied message associated with 
            			the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>mdc</term>
            		<description>
            			<para>
            			The MDC (old name for the ThreadContext.Properties) is now part of the
            			combined event properties. This pattern is supported for compatibility
            			but is equivalent to <b>property</b>.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>method</term>
            		<description>
            			<para>
            			Used to output the method name where the logging request was
            			issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>n</term>
                    <description>Equivalent to <b>newline</b></description>
                </item>
            	<item>
            		<term>newline</term>
            		<description>
            			<para>
            			Outputs the platform dependent line separator character or
            			characters.
            			</para>
            			<para>
            			This conversion pattern offers the same performance as using 
            			non-portable line separator strings such as	"\n", or "\r\n". 
            			Thus, it is the preferred way of specifying a line separator.
            			</para> 
            		</description>
            	</item>
            	<item>
            		<term>ndc</term>
            		<description>
            			<para>
            			Used to output the NDC (nested diagnostic context) associated
            			with the thread that generated the logging event.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>p</term>
                    <description>Equivalent to <b>level</b></description>
                </item>
                <item>
                    <term>P</term>
                    <description>Equivalent to <b>property</b></description>
                </item>
                <item>
                    <term>properties</term>
                    <description>Equivalent to <b>property</b></description>
                </item>
            	<item>
            		<term>property</term>
            		<description>
            			<para>
            			Used to output the an event specific property. The key to 
            			lookup must be specified within braces and directly following the
            			pattern specifier, e.g. <b>%property{user}</b> would include the value
            			from the property that is keyed by the string 'user'. Each property value
            			that is to be included in the log must be specified separately.
            			Properties are added to events by loggers or appenders. By default 
            			the <c>log4net:HostName</c> property is set to the name of machine on 
            			which the event was originally logged.
            			</para>
            			<para>
            			If no key is specified, e.g. <b>%property</b> then all the keys and their
            			values are printed in a comma separated list.
            			</para>
            			<para>
            			The properties of an event are combined from a number of different
            			contexts. These are listed below in the order in which they are searched.
            			</para>
            			<list type="definition">
            				<item>
            					<term>the event properties</term>
            					<description>
            					The event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These 
            					properties are specific to this event only.
            					</description>
            				</item>
            				<item>
            					<term>the thread properties</term>
            					<description>
            					The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
            					thread. These properties are shared by all events logged on this thread.
            					</description>
            				</item>
            				<item>
            					<term>the global properties</term>
            					<description>
            					The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
            					properties are shared by all the threads in the AppDomain.
            					</description>
            				</item>
            			</list>
            			
            		</description>
            	</item>
                <item>
                    <term>r</term>
                    <description>Equivalent to <b>timestamp</b></description>
                </item>
            	<item>
            		<term>stacktrace</term> 
            		<description>
            			<para>
            			Used to output the stack trace of the logging event
            			The stack trace level specifier may be enclosed 
            			between braces. For example, <b>%stacktrace{level}</b>.  
            			If no stack trace level specifier is given then 1 is assumed 
            			</para>
            			<para>
            			Output uses the format:
            			type3.MethodCall3 &gt; type2.MethodCall2 &gt; type1.MethodCall1
            			</para>
                        <para>
                        This pattern is not available for Compact Framework assemblies.
                        </para>
            		</description>
            	</item>
            	<item>
            		<term>stacktracedetail</term> 
            		<description>
            			<para>
            			Used to output the stack trace of the logging event
            			The stack trace level specifier may be enclosed 
            			between braces. For example, <b>%stacktracedetail{level}</b>.  
            			If no stack trace level specifier is given then 1 is assumed 
            			</para>
            			<para>
            			Output uses the format:
                        type3.MethodCall3(type param,...) &gt; type2.MethodCall2(type param,...) &gt; type1.MethodCall1(type param,...)
            			</para>
                        <para>
                        This pattern is not available for Compact Framework assemblies.
                        </para>
            		</description>
            	</item>
                <item>
                    <term>t</term>
                    <description>Equivalent to <b>thread</b></description>
                </item>
            	<item>
            		<term>timestamp</term>
            		<description>
            			<para>
            			Used to output the number of milliseconds elapsed since the start
            			of the application until the creation of the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>thread</term>
            		<description>
            			<para>
            			Used to output the name of the thread that generated the
            			logging event. Uses the thread number if no name is available.
            			</para>
            		</description>
            	</item>
                <item>
            		<term>type</term> 
            		<description>
            			<para>
            			Used to output the fully qualified type name of the caller
            			issuing the logging request. This conversion specifier
            			can be optionally followed by <i>precision specifier</i>, that
            			is a decimal constant in brackets.
            			</para>
            			<para>
            			If a precision specifier is given, then only the corresponding
            			number of right most components of the class name will be
            			printed. By default the class name is output in fully qualified form.
            			</para>
            			<para>
            			For example, for the class name "log4net.Layout.PatternLayout", the
            			pattern <b>%type{1}</b> will output "PatternLayout".
            			</para>
            			<para>
            			<b>WARNING</b> Generating the caller class information is
            			slow. Thus, its use should be avoided unless execution speed is
            			not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
                </item>
                <item>
                    <term>u</term>
                    <description>Equivalent to <b>identity</b></description>
                </item>
            	<item>
            		<term>username</term>
            		<description>
            			<para>
            			Used to output the WindowsIdentity for the currently
            			active user.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller WindowsIdentity information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
                <item>
            		<term>utcdate</term> 
            		<description>
            			<para>
            			Used to output the date of the logging event in universal time. 
            			The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
            			<b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:System.DateTime.ToString(System.String)"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
            			<b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:System.DateTime.ToString(System.String)"/>.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>w</term>
                    <description>Equivalent to <b>username</b></description>
                </item>
                <item>
                    <term>x</term>
                    <description>Equivalent to <b>ndc</b></description>
                </item>
                <item>
                    <term>X</term>
                    <description>Equivalent to <b>mdc</b></description>
                </item>
            	<item>
            		<term>%</term>
            		<description>
            			<para>
            			The sequence %% outputs a single percent sign.
            			</para>
            		</description>
            	</item>
            </list>
            <para>
            The single letter patterns are deprecated in favor of the 
            longer more descriptive pattern names.
            </para>
            <para>
            By default the relevant information is output as is. However,
            with the aid of format modifiers it is possible to change the
            minimum field width, the maximum field width and justification.
            </para>
            <para>
            The optional format modifier is placed between the percent sign
            and the conversion pattern name.
            </para>
            <para>
            The first optional format modifier is the <i>left justification
            flag</i> which is just the minus (-) character. Then comes the
            optional <i>minimum field width</i> modifier. This is a decimal
            constant that represents the minimum number of characters to
            output. If the data item requires fewer characters, it is padded on
            either the left or the right until the minimum width is
            reached. The default is to pad on the left (right justify) but you
            can specify right padding with the left justification flag. The
            padding character is space. If the data item is larger than the
            minimum field width, the field is expanded to accommodate the
            data. The value is never truncated.
            </para>
            <para>
            This behavior can be changed using the <i>maximum field
            width</i> modifier which is designated by a period followed by a
            decimal constant. If the data item is longer than the maximum
            field, then the extra characters are removed from the
            <i>beginning</i> of the data item and not from the end. For
            example, it the maximum field width is eight and the data item is
            ten characters long, then the first two characters of the data item
            are dropped. This behavior deviates from the printf function in C
            where truncation is done from the end.
            </para>
            <para>
            Below are various format modifier examples for the logger
            conversion specifier.
            </para>
            <div class="tablediv">
            	<table class="dtTABLE" cellspacing="0">
            		<tr>
            			<th>Format modifier</th>
            			<th>left justify</th>
            			<th>minimum width</th>
            			<th>max