<?xml version="1.0"?>
<doc>
    <assembly>
        <name>log4net</name>
    </assembly>
    <members>
        <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="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.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.PatternString">
            <summary>
            This class implements a patterned string.
            </summary>
            <remarks>
            <para>
            This string has embedded patterns that are resolved and expanded
            when the string is formatted.
            </para>
            <para>
            This class functions similarly to the <see cref="T:log4net.Layout.PatternLayout"/>
            in that it accepts a pattern and renders it to a string. Unlike the 
            <see cref="T:log4net.Layout.PatternLayout"/> however the <c>PatternString</c>
            does not render the properties of a specific <see cref="T:log4net.Core.LoggingEvent"/> but
            of the process in general.
            </para>
            <para>
            The recognized conversion pattern names are:
            </para>
            <list type="table">
                <listheader>
                    <term>Conversion Pattern Name</term>
                    <description>Effect</description>
                </listheader>
                <item>
                    <term>appdomain</term>
                    <description>
                        <para>
                        Used to output the friendly name of the current AppDomain.
                        </para>
                    </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>env</term>
                    <description>
                        <para>
            			Used to output the a specific environment variable. The key to 
            			lookup must be specified within braces and directly following the
            			pattern specifier, e.g. <b>%env{COMPUTERNAME}</b> would include the value
            			of the <c>COMPUTERNAME</c> environment variable.
                        </para>
                        <para>
                        The <c>env</c> pattern is not supported on the .NET Compact Framework.
                        </para>
                    </description>
                </item>
                <item>
                    <term>identity</term>
                    <description>
            			<para>
            			Used to output the user name for the currently active user
            			(Principal.Identity.Name).
            			</para>
                    </description>
                </item>
                <item>
                    <term>newline</term>
                    <description>
            			<para>
            			Outputs the platform dependent line separator character or
            			characters.
            			</para>
            			<para>
            			This conversion pattern name 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>processid</term>
                    <description>
                        <para>
            			Used to output the system process ID for the current process.
                        </para>
                    </description>
                </item>
                <item>
                    <term>property</term>
                    <description>
            			<para>
            			Used to output a specific context 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 stored in logging contexts. 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 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>random</term>
                    <description>
                        <para>
                        Used to output a random string of characters. The string is made up of
                        uppercase letters and numbers. By default the string is 4 characters long.
                        The length of the string can be specified within braces directly following the
            			pattern specifier, e.g. <b>%random{8}</b> would output an 8 character string.
                        </para>
                    </description>
                </item>
                <item>
                    <term>username</term>
                    <description>
            			<para>
            			Used to output the WindowsIdentity for the currently
            			active user.
            			</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>%</term>
            		<description>
            			<para>
            			The sequence %% outputs a single percent sign.
            			</para>
            		</description>
            	</item>
            </list>
            <para>
            Additional pattern converters may be registered with a specific <see cref="T:log4net.Util.PatternString"/>
            instance using <see cref="M:log4net.Util.PatternString.AddConverter(log4net.Util.PatternString.ConverterInfo)"/> or
            <see cref="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)"/>.
            </para>
            <para>
            See the <see cref="T:log4net.Layout.PatternLayout"/> for details on the 
            <i>format modifiers</i> supported by the patterns.
            </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="F:log4net.Util.PatternString.s_globalRulesRegistry">
            <summary>
            Internal map of converter identifiers to converter types.
            </summary>
        </member>
        <member name="F:log4net.Util.PatternString.m_pattern">
            <summary>
            the pattern
            </summary>
        </member>
        <member name="F:log4net.Util.PatternString.m_head">
            <summary>
            the head of the pattern converter chain
            </summary>
        </member>
        <member name="F:log4net.Util.PatternString.m_instanceRulesRegistry">
            <summary>
            patterns defined on this PatternString only
            </summary>
        </member>
        <member name="M:log4net.Util.PatternString.#cctor">
            <summary>
            Initialize the global registry
            </summary>
        </member>
        <member name="M:log4net.Util.PatternString.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initialize a new instance of <see cref="T:log4net.Util.PatternString"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.#ctor(System.String)">
            <summary>
            Constructs a PatternString
            </summary>
            <param name="pattern">The pattern to use with this PatternString</param>
            <remarks>
            <para>
            Initialize a new instance of <see cref="T:log4net.Util.PatternString"/> with the pattern specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.ActivateOptions">
            <summary>
            Initialize object 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.PatternString.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.PatternString.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.PatternString.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.CreatePatternParser(System.String)">
            <summary>
            Create the <see cref="T:log4net.Util.PatternParser"/> used to parse the pattern
            </summary>
            <param name="pattern">the pattern to parse</param>
            <returns>The <see cref="T:log4net.Util.PatternParser"/></returns>
            <remarks>
            <para>
            Returns PatternParser used to parse the conversion string. Subclasses
            may override this to return a subclass of PatternParser which recognize
            custom conversion pattern name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.Format(System.IO.TextWriter)">
            <summary>
            Produces a formatted string as specified by the conversion pattern.
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Format the pattern to the <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.Format">
            <summary>
            Format the pattern as a string
            </summary>
            <returns>the pattern formatted as a string</returns>
            <remarks>
            <para>
            Format the pattern to a string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.AddConverter(log4net.Util.PatternString.ConverterInfo)">
            <summary>
            Add a converter to this PatternString
            </summary>
            <param name="converterInfo">the converter info</param>
            <remarks>
            <para>
            This version of the method is used by the configurator.
            Programmatic users should use the alternative <see cref="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)">
            <summary>
            Add a converter to this PatternString
            </summary>
            <param name="name">the name of the conversion pattern for this converter</param>
            <param name="type">the type of the converter</param>
            <remarks>
            <para>
            Add a converter to this PatternString
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternString.ConversionPattern">
            <summary>
            Gets or sets the pattern formatting string
            </summary>
            <value>
            The pattern formatting string
            </value>
            <remarks>
            <para>
            The <b>ConversionPattern</b> option. This is the string which
            controls formatting and consists of a mix of literal content and
            conversion specifiers.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternString.ConverterInfo">
            <summary>
            Wrapper class used to map converter names to converter types
            </summary>
            <remarks>
            <para>
            Wrapper class used to map converter names to converter types
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.ConverterInfo.#ctor">
            <summary>
            default constructor
            </summary>
        </member>
        <member name="P:log4net.Util.PatternString.ConverterInfo.Name">
            <summary>
            Gets or sets the name of the conversion pattern
            </summary>
            <value>
            The name of the conversion pattern
            </value>
            <remarks>
            <para>
            Gets or sets the name of the conversion pattern
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternString.ConverterInfo.Type">
            <summary>
            Gets or sets the type of the converter
            </summary>
            <value>
            The type of the converter
            </value>
            <remarks>
            <para>
            Gets or sets the type of the converter
            </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.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="T:log4net.Repository.Hierarchy.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="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="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="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.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="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="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.ThisDeclaringType">
            <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.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="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="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.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_protectCloseTextWriter">
            <summary>
            Writer adapter that ignores Close
            </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.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.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="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.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.ExceptionPatternConverter">
            <summary>
            Write the exception text to the output
            </summary>
            <remarks>
            <para>
            If an exception object is stored in the logging event
            it will be rendered into the pattern output with a
            trailing newline.
            </para>
            <para>
            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>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:log4net.Layout.Pattern.ExceptionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)" -->
        <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="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.Filter.DenyAllFilter">
            <summary>
            This filter drops all <see cref="T:log4net.Core.LoggingEvent"/>. 
            </summary>
            <remarks>
            <para>
            You can add this filter to the end of a filter chain to
            switch from the default "accept all unless instructed otherwise"
            filtering behavior to a "deny all unless instructed otherwise"
            behavior.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</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="M:log4net.Filter.DenyAllFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.DenyAllFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Always returns the integer constant <see cref="F:log4net.Filter.FilterDecision.Deny"/>
            </summary>
            <param name="loggingEvent">the LoggingEvent to filter</param>
            <returns>Always returns <see cref="F:log4net.Filter.FilterDecision.Deny"/></returns>
            <remarks>
            <para>
            Ignores the event being logged and just returns
            <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This can be used to change the default filter
            chain behavior from <see cref="F:log4net.Filter.FilterDecision.Accept"/> to <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This filter
            should only be used as the last filter in the chain
            as any further filters will be ignored!
            </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="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="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.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="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="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.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="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="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="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="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="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>true</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.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.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.InitializeDatabaseConnection">
            <summary>
            Connects to the database.
            </summary>		
        </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="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_connectionStringName">
            <summary>
            Name of the Connection string setting within the ConnectionStrings area.
            </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="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.ConnectionStringName">
            <summary>
            Gets or set the name of a connection string specified in the ConnectionStrings 
            section of an App.config or Web.config file used to connect to the database.
            </summary>
            <value>
            The name of a connection string within the ConnectionStrings section.
            </value>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property takes precedence over this setting. 
            </para>
            </remarks>
            <example>
            A ConnectionStrings section might look like this:
            <code>
            &lt;qconfiguration&gt;
            	&lt;connectionStrings&gt;
            		&lt;add name="someDbConn" connectionString="Server=localhost;Database=SomeDb;Trusted_Connection=True" /&gt;
            	&lt;/connectionStrings&gt;
            &lt;/configuration&gt;
            </code>
            Which can be referenced by setting the ConnectionStringName to "someDbConn".
            </example>
        </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.SystemInfo">
            <summary>
            Utility class for system specific information.
            </summary>
            <remarks>
            <para>
            Utility class of static methods for system specific information.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Alexey Solofnenko</author>
        </member>
        <member name="M:log4net.Util.SystemInfo.#ctor">
            <summary>
            Private constructor to prevent instances.
            </summary>
            <remarks>
            <para>
            Only static methods are exposed from this type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.#cctor">
            <summary>
            Initialize default values for private static fields.
            </summary>
            <remarks>
            <para>
            Only static methods are exposed from this type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyLocationInfo(System.Reflection.Assembly)">
            <summary>
            Gets the assembly location path for the specified assembly.
            </summary>
            <param name="myAssembly">The assembly to get the location for.</param>
            <returns>The location of the assembly.</returns>
            <remarks>
            <para>
            This method does not guarantee to return the correct path
            to the assembly. If only tries to give an indication as to
            where the assembly was loaded from.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyQualifiedName(System.Type)">
            <summary>
            Gets the fully qualified name of the <see cref="T:System.Type"/>, including 
            the name of the assembly from which the <see cref="T:System.Type"/> was 
            loaded.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to get the fully qualified name for.</param>
            <returns>The fully qualified name for the <see cref="T:System.Type"/>.</returns>
            <remarks>
            <para>
            This is equivalent to the <c>Type.AssemblyQualifiedName</c> property,
            but this method works on the .NET Compact Framework 1.0 as well as
            the full .NET runtime.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyShortName(System.Reflection.Assembly)">
            <summary>
            Gets the short name of the <see cref="T:System.Reflection.Assembly"/>.
            </summary>
            <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the name for.</param>
            <returns>The short name of the <see cref="T:System.Reflection.Assembly"/>.</returns>
            <remarks>
            <para>
            The short name of the assembly is the <see cref="P:System.Reflection.Assembly.FullName"/> 
            without the version, culture, or public key. i.e. it is just the 
            assembly's file name without the extension.
            </para>
            <para>
            Use this rather than <c>Assembly.GetName().Name</c> because that
            is not available on the Compact Framework.
            </para>
            <para>
            Because of a FileIOPermission security demand we cannot do
            the obvious Assembly.GetName().Name. We are allowed to get
            the <see cref="P:System.Reflection.Assembly.FullName"/> of the assembly so we 
            start from there and strip out just the assembly name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyFileName(System.Reflection.Assembly)">
            <summary>
            Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
            </summary>
            <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the file name for.</param>
            <returns>The file name of the assembly.</returns>
            <remarks>
            <para>
            Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Type,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="relativeType">A sibling type to use to load the type.</param>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
            </para>
            <para>
            If the type name is not fully qualified, it will be loaded from the assembly
            containing the specified relative type. If the type is not found in the assembly 
            then all the loaded assemblies will be searched for the type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>		
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
            </para>
            <para>
            If the type name is not fully qualified it will be loaded from the
            assembly that is directly calling this method. If the type is not found 
            in the assembly then all the loaded assemblies will be searched for the type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Reflection.Assembly,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="relativeAssembly">An assembly to load the type from.</param>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
            </para>
            <para>
            If the type name is not fully qualified it will be loaded from the specified
            assembly. If the type is not found in the assembly then all the loaded assemblies 
            will be searched for the type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.NewGuid">
            <summary>
            Generate a new guid
            </summary>
            <returns>A new Guid</returns>
            <remarks>
            <para>
            Generate a new guid
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.CreateArgumentOutOfRangeException(System.String,System.Object,System.String)">
            <summary>
            Create an <see cref="T:System.ArgumentOutOfRangeException"/>
            </summary>
            <param name="parameterName">The name of the parameter that caused the exception</param>
            <param name="actualValue">The value of the argument that causes this exception</param>
            <param name="message">The message that describes the error</param>
            <returns>the ArgumentOutOfRangeException object</returns>
            <remarks>
            <para>
            Create a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/> class 
            with a specified error message, the parameter name, and the value 
            of the argument.
            </para>
            <para>
            The Compact Framework does not support the 3 parameter constructor for the
            <see cref="T:System.ArgumentOutOfRangeException"/> type. This method provides an
            implementation that works for all platforms.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int32@)">
            <summary>
            Parse a string into an <see cref="T:System.Int32"/> value
            </summary>
            <param name="s">the string to parse</param>
            <param name="val">out param where the parsed value is placed</param>
            <returns><c>true</c> if the string was able to be parsed into an integer</returns>
            <remarks>
            <para>
            Attempts to parse the string into an integer. If the string cannot
            be parsed then this method returns <c>false</c>. The method does not throw an exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int64@)">
            <summary>
            Parse a string into an <see cref="T:System.Int64"/> value
            </summary>
            <param name="s">the string to parse</param>
            <param name="val">out param where the parsed value is placed</param>
            <returns><c>true</c> if the string was able to be parsed into an integer</returns>
            <remarks>
            <para>
            Attempts to parse the string into an integer. If the string cannot
            be parsed then this method returns <c>false</c>. The method does not throw an exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetAppSetting(System.String)">
            <summary>
            Lookup an application setting
            </summary>
            <param name="key">the application settings key to lookup</param>
            <returns>the value for the key, or <c>null</c></returns>
            <remarks>
            <para>
            Configuration APIs are not supported under the Compact Framework
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified local file 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>
            <para>
            The path specified must be a local file path, a URI is not supported.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.CreateCaseInsensitiveHashtable">
            <summary>
            Creates a new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity. 
            </summary>
            <returns>A new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity</returns>
            <remarks>
            <para>
            The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.SystemInfo.EmptyTypes">
            <summary>
            Gets an empty array of types.
            </summary>
            <remarks>
            <para>
            The <c>Type.EmptyTypes</c> field is not available on
            the .NET Compact Framework 1.0.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_hostName">
            <summary>
            Cache the host name for the current machine
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_appFriendlyName">
            <summary>
            Cache the application friendly name
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_nullText">
            <summary>
            Text to output when a <c>null</c> is encountered.
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_notAvailableText">
            <summary>
            Text to output when an unsupported feature is requested.
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_processStartTime">
            <summary>
            Start time for the current process.
            </summary>
        </member>
        <member name="P:log4net.Util.SystemInfo.NewLine">
            <summary>
            Gets the system dependent line terminator.
            </summary>
            <value>
            The system dependent line terminator.
            </value>
            <remarks>
            <para>
            Gets the system dependent line terminator.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ApplicationBaseDirectory">
            <summary>
            Gets the base directory for this <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The base directory path for the current <see cref="T:System.AppDomain"/>.</value>
            <remarks>
            <para>
            Gets the base directory for this <see cref="T:System.AppDomain"/>.
            </para>
            <para>
            The value returned may be either a local file path or a URI.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ConfigurationFileLocation">
            <summary>
            Gets the path to the configuration file for the current <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The path to the configuration file for the current <see cref="T:System.AppDomain"/>.</value>
            <remarks>
            <para>
            The .NET Compact Framework 1.0 does not have a concept of a configuration
            file. For this runtime, we use the entry assembly location as the root for
            the configuration file name.
            </para>
            <para>
            The value returned may be either a local file path or a URI.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.EntryAssemblyLocation">
            <summary>
            Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The path to the entry assembly.</value>
            <remarks>
            <para>
            Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.CurrentThreadId">
            <summary>
            Gets the ID of the current thread.
            </summary>
            <value>The ID of the current thread.</value>
            <remarks>
            <para>
            On the .NET framework, the <c>AppDomain.GetCurrentThreadId</c> method
            is used to obtain the thread ID for the current thread. This is the 
            operating system ID for the thread.
            </para>
            <para>
            On the .NET Compact Framework 1.0 it is not possible to get the 
            operating system thread ID for the current thread. The native method 
            <c>GetCurrentThreadId</c> is implemented inline in a header file
            and cannot be called.
            </para>
            <para>
            On the .NET Framework 2.0 the <c>Thread.ManagedThreadId</c> is used as this
            gives a stable id unrelated to the operating system thread ID which may 
            change if the runtime is using fibers.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.HostName">
            <summary>
            Get the host name or machine name for the current machine
            </summary>
            <value>
            The hostname or machine name
            </value>
            <remarks>
            <para>
            Get the host name or machine name for the current machine
            </para>
            <para>
            The host name (<see cref="M:System.Net.Dns.GetHostName"/>) or
            the machine name (<c>Environment.MachineName</c>) for
            the current machine, or if neither of these are available
            then <c>NOT AVAILABLE</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ApplicationFriendlyName">
            <summary>
            Get this application's friendly name
            </summary>
            <value>
            The friendly name of this application as a string
            </value>
            <remarks>
            <para>
            If available the name of the application is retrieved from
            the <c>AppDomain</c> using <c>AppDomain.CurrentDomain.FriendlyName</c>.
            </para>
            <para>
            Otherwise the file name of the entry assembly is used.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ProcessStartTime">
            <summary>
            Get the start time for the current process.
            </summary>
            <remarks>
            <para>
            This is the time at which the log4net library was loaded into the
            AppDomain. Due to reports of a hang in the call to <c>System.Diagnostics.Process.StartTime</c>
            this is not the start time for the current process.
            </para>
            <para>
            The log4net library should be loaded by an application early during its
            startup, therefore this start time should be a good approximation for
            the actual start time.
            </para>
            <para>
            Note that AppDomains may be loaded and unloaded within the
            same process without the process terminating, however this start time
            will be set per AppDomain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.NullText">
            <summary>
            Text to output when a <c>null</c> is encountered.
            </summary>
            <remarks>
            <para>
            Use this value to indicate a <c>null</c> has been encountered while
            outputting a string representation of an item.
            </para>
            <para>
            The default value is <c>(null)</c>. This value can be overridden by specifying
            a value for the <c>log4net.NullText</c> appSetting in the application's
            .config file.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.NotAvailableText">
            <summary>
            Text to output when an unsupported feature is requested.
            </summary>
            <remarks>
            <para>
            Use this value when an unsupported feature is requested.
            </para>
            <para>
            The default value is <c>NOT AVAILABLE</c>. This value can be overridden by specifying
            a value for the <c>log4net.NotAvailableText</c> appSetting in the application's
            .config file.
            </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.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="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="T:log4net.Util.PatternParser">
            <summary>
            Most of the work of the <see cref="T:log4net.Layout.PatternLayout"/> class
            is delegated to the PatternParser class.
            </summary>
            <remarks>
            <para>
            The <c>PatternParser</c> processes a pattern string and
            returns a chain of <see cref="T:log4net.Util.PatternConverter"/> objects.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.PatternParser.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="pattern">The pattern to parse.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PatternParser"/> class 
            with the specified pattern string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.Parse">
            <summary>
            Parses the pattern into a chain of pattern converters.
            </summary>
            <returns>The head of a chain of pattern converters.</returns>
            <remarks>
            <para>
            Parses the pattern into a chain of pattern converters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.BuildCache">
            <summary>
            Build the unified cache of converters from the static and instance maps
            </summary>
            <returns>the list of all the converter names</returns>
            <remarks>
            <para>
            Build the unified cache of converters from the static and instance maps
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.ParseInternal(System.String,System.String[])">
            <summary>
            Internal method to parse the specified pattern to find specified matches
            </summary>
            <param name="pattern">the pattern to parse</param>
            <param name="matches">the converter names to match in the pattern</param>
            <remarks>
            <para>
            The matches param must be sorted such that longer strings come before shorter ones.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.ProcessLiteral(System.String)">
            <summary>
            Process a parsed literal
            </summary>
            <param name="text">the literal text</param>
        </member>
        <member name="M:log4net.Util.PatternParser.ProcessConverter(System.String,System.String,log4net.Util.FormattingInfo)">
            <summary>
            Process a parsed converter pattern
            </summary>
            <param name="converterName">the name of the converter</param>
            <param name="option">the optional option for the converter</param>
            <param name="formattingInfo">the formatting info for the converter</param>
        </member>
        <member name="M:log4net.Util.PatternParser.AddConverter(log4net.Util.PatternConverter)">
            <summary>
            Resets the internal state of the parser and adds the specified pattern converter 
            to the chain.
            </summary>
            <param name="pc">The pattern converter to add.</param>
        </member>
        <member name="F:log4net.Util.PatternParser.m_head">
            <summary>
            The first pattern converter in the chain
            </summary>
        </member>
        <member name="F:log4net.Util.PatternParser.m_tail">
            <summary>
             the last pattern converter in the chain
            </summary>
        </member>
        <member name="F:log4net.Util.PatternParser.m_pattern">
            <summary>
            The pattern
            </summary>
        </member>
        <member name="F:log4net.Util.PatternParser.m_patternConverters">
            <summary>
            Internal map of converter identifiers to converter types
            </summary>
            <remarks>
            <para>
            This map overrides the static s_globalRulesRegistry map.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternParser.PatternConverters">
            <summary>
            Get the converter registry used by this parser
            </summary>
            <value>
            The converter registry used by this parser
            </value>
            <remarks>
            <para>
            Get the converter registry used by this parser
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternParser.StringLengthComparer">
            <summary>
            Sort strings by length
            </summary>
            <remarks>
            <para>
            <see cref="T:System.Collections.IComparer"/> that orders strings by string length.
            The longest strings are placed first
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerKey">
            <summary>
            Used internally to accelerate hash table searches.
            </summary>
            <remarks>
            <para>
            Internal class used to improve performance of 
            string keyed hashtables.
            </para>
            <para>
            The hashcode of the string is cached for reuse.
            The string is stored as an interned value.
            When comparing two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> objects for equality 
            the reference equality of the interned strings is compared.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.#ctor(System.String)">
            <summary>
            Construct key with string name
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> class 
            with the specified name.
            </para>
            <para>
            Stores the hashcode of the string and interns
            the string key to optimize comparisons.
            </para>
            <note>
            The Compact Framework 1.0 the <see cref="M:System.String.Intern(System.String)"/>
            method does not work. On the Compact Framework
            the string keys are not interned nor are they
            compared by reference.
            </note>
            </remarks>
            <param name="name">The name of the logger.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.GetHashCode">
            <summary>
            Returns a hash code for the current instance.
            </summary>
            <returns>A hash code for the current instance.</returns>
            <remarks>
            <para>
            Returns the cached hashcode.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.Equals(System.Object)">
            <summary>
            Determines whether two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> instances 
            are equal.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares the references of the interned strings.
            </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.PropertyPatternConverter">
            <summary>
            Property pattern converter
            </summary>
            <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.
            </para>
            <para>
            If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
            then all the properties are written as key value pairs.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.PropertyPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the property value 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 value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            <para>
            If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
            then all the properties are written as key value pairs.
            </para>
            </remarks>
        </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="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="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="T:log4net.Appender.ColoredConsoleAppender">
            <summary>
            Appends logging events to the console.
            </summary>
            <remarks>
            <para>
            ColoredConsoleAppender 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 type of message to be set.
            </para>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes directly to the application's attached console
            not to the <c>System.Console.Out</c> or <c>System.Console.Error</c> <c>TextWriter</c>.
            The <c>System.Console.Out</c> and <c>System.Console.Error</c> streams can be
            programmatically redirected (for example NUnit does this to capture program output).
            This appender will ignore these redirections because it needs to use Win32
            API calls to colorize the output. To respect these redirections the <see cref="T:log4net.Appender.ConsoleAppender"/>
            must be used.
            </para>
            <para>
            When configuring the colored console appender, 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, HighIntensity"/>
            </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
            combination 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>
            <item><term>HighIntensity</term><description></description></item>
            </list>
            </para>
            </remarks>
            <author>Rick Hobbs</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleOut">
            <summary>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleError">
            <summary>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
            <remarks>
            When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
            the standard error output stream.  Otherwise, output is written to the standard
            output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.AddMapping(log4net.Appender.ColoredConsoleAppender.LevelColors)">
            <summary>
            Add a mapping of level to color - done by the config file
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.ColoredConsoleAppender.LevelColors"/> mapping to this appender.
            Each mapping defines the foreground and background colors
            for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.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.ColoredConsoleAppender.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.ColoredConsoleAppender.m_writeToErrorStream">
            <summary>
            Flag to write output to the error stream rather than the standard output stream
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.m_levelMapping">
            <summary>
            Mapping from level object to color value
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.m_consoleOutputWriter">
            <summary>
            The console output stream writer to write to
            </summary>
            <remarks>
            <para>
            This writer is not thread safe.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.Target">
            <summary>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </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.ColoredConsoleAppender.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.ColoredConsoleAppender.Colors">
            <summary>
            The enum of possible color values for use with the color mapping method
            </summary>
            <remarks>
            <para>
            The following flags can be combined together to
            form the colors.
            </para>
            </remarks>
            <seealso cref="T:log4net.Appender.ColoredConsoleAppender"/>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Blue">
            <summary>
            color is blue
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Green">
            <summary>
            color is green
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Red">
            <summary>
            color is red
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.White">
            <summary>
            color is white
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Yellow">
            <summary>
            color is yellow
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Purple">
            <summary>
            color is purple
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Cyan">
            <summary>
            color is cyan
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity">
            <summary>
            color is intensified
            </summary>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender.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.ColoredConsoleAppender.LevelColors.ActivateOptions">
            <summary>
            Initialize the options for the object
            </summary>
            <remarks>
            <para>
            Combine the <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> together.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.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.ColoredConsoleAppender.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.ColoredConsoleAppender.LevelColors.CombinedColor">
            <summary>
            The combined <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> suitable for 
            setting the console color.
            </summary>
        </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="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.PatternStringConverter">
            <summary>
            Convert between string and <see cref="T:log4net.Util.PatternString"/>
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:log4net.Util.PatternString"/> type, 
            and from a <see cref="T:log4net.Util.PatternString"/> type to a string.
            </para>
            <para>
            The string is used as the <see cref="P:log4net.Util.PatternString.ConversionPattern"/> 
            of the <see cref="T:log4net.Util.PatternString"/>.
            </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>
        </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="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)">
            <summary>
            Can the target type be converted to the type supported by this object
            </summary>
            <param name="targetType">A <see cref="T:System.Type"/> that represents the type you want to convert to</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="targetType"/> is
            assignable from a <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.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>
            Uses the <see cref="M:log4net.Util.PatternString.Format"/> method to convert the
            <see cref="T:log4net.Util.PatternString"/> argument to a <see cref="T:System.String"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            <paramref name="targetType"/>. To check for this condition use the 
            <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)"/> method.
            </exception>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.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.PatternStringConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to a PatternString</param>
            <returns>the PatternString</returns>
            <remarks>
            <para>
            Creates and returns a new <see cref="T:log4net.Util.PatternString"/> using
            the <paramref name="source"/> <see cref="T:System.String"/> as the
            <see cref="P:log4net.Util.PatternString.ConversionPattern"/>.
            </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.PatternStringConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </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.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="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.Layout.Pattern.AspNetPatternConverter">
            <summary>
            Abstract class that provides access to the HttpContext.Current that 
            derived classes need.
            </summary>
            <remarks>
            This class handles the case when HttpContext.Current is null by writing
            SystemInfo.NotAvailableText to the writer.
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetPatternConverter.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="T:log4net.Core.WrapperCreationHandler">
            <summary>
            Delegate used to handle creation of new wrappers.
            </summary>
            <param name="logger">The logger to wrap in a wrapper.</param>
            <remarks>
            <para>
            Delegate used to handle creation of new wrappers. This delegate
            is called from the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
            method to construct the wrapper for the specified logger.
            </para>
            <para>
            The delegate to use is supplied to the <see cref="T:log4net.Core.WrapperMap"/>
            constructor.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.WrapperMap">
            <summary>
            Maps between logger objects and wrapper objects.
            </summary>
            <remarks>
            <para>
            This class maintains a mapping between <see cref="T:log4net.Core.ILogger"/> objects and
            <see cref="T:log4net.Core.ILoggerWrapper"/> objects. Use the <see cref="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)"/> method to 
            lookup the <see cref="T:log4net.Core.ILoggerWrapper"/> for the specified <see cref="T:log4net.Core.ILogger"/>.
            </para>
            <para>
            New wrapper instances are created by the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
            method. The default behavior is for this method to delegate construction
            of the wrapper to the <see cref="T:log4net.Core.WrapperCreationHandler"/> delegate supplied
            to the constructor. This allows specialization of the behavior without
            requiring subclassing of this type.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.WrapperMap.#ctor(log4net.Core.WrapperCreationHandler)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/>
            </summary>
            <param name="createWrapperHandler">The handler to use to create the wrapper objects.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/> class with 
            the specified handler to create the wrapper objects.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)">
            <summary>
            Gets the wrapper object for the specified logger.
            </summary>
            <returns>The wrapper object for the specified logger</returns>
            <remarks>
            <para>
            If the logger is null then the corresponding wrapper is null.
            </para>
            <para>
            Looks up the wrapper it it has previously been requested and
            returns it. If the wrapper has never been requested before then
            the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/> virtual method is
            called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)">
            <summary>
            Creates the wrapper object for the specified logger.
            </summary>
            <param name="logger">The logger to wrap in a wrapper.</param>
            <returns>The wrapper object for the logger.</returns>
            <remarks>
            <para>
            This implementation uses the <see cref="T:log4net.Core.WrapperCreationHandler"/>
            passed to the constructor to create the wrapper. This method
            can be overridden in a subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.RepositoryShutdown(log4net.Repository.ILoggerRepository)">
            <summary>
            Called when a monitored repository shutdown event is received.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down</param>
            <remarks>
            <para>
            This method is called when a <see cref="T:log4net.Repository.ILoggerRepository"/> that this
            <see cref="T:log4net.Core.WrapperMap"/> is holding loggers for has signaled its shutdown
            event <see cref="E:log4net.Repository.ILoggerRepository.ShutdownEvent"/>. The default
            behavior of this method is to release the references to the loggers
            and their wrappers generated for this repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.ILoggerRepository_Shutdown(System.Object,System.EventArgs)">
            <summary>
            Event handler for repository shutdown event.
            </summary>
            <param name="sender">The sender of the event.</param>
            <param name="e">The event args.</param>
        </member>
        <member name="F:log4net.Core.WrapperMap.m_repositories">
            <summary>
            Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings
            </summary>
        </member>
        <member name="F:log4net.Core.WrapperMap.m_createWrapperHandler">
            <summary>
            The handler to use to create the extension wrapper objects.
            </summary>
        </member>
        <member name="F:log4net.Core.WrapperMap.m_shutdownHandler">
            <summary>
            Internal reference to the delegate used to register for repository shutdown events.
            </summary>
        </member>
        <member name="P:log4net.Core.WrapperMap.Repositories">
            <summary>
            Gets the map of logger repositories.
            </summary>
            <value>
            Map of logger repositories.
            </value>
            <remarks>
            <para>
            Gets the hashtable that is keyed on <see cref="T:log4net.Repository.ILoggerRepository"/>. The
            values are hashtables keyed on <see cref="T:log4net.Core.ILogger"/> with the
            value being the corresponding <see cref="T:log4net.Core.ILoggerWrapper"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggerManager">
            <summary>
            Static manager that controls the creation of repositories
            </summary>
            <remarks>
            <para>
            Static manager that controls the creation of repositories
            </para>
            <para>
            This class is used by the wrapper managers (e.g. <see cref="T:log4net.LogManager"/>)
            to provide access to the <see cref="T:log4net.Core.ILogger"/> objects.
            </para>
            <para>
            This manager also holds the <see cref="T:log4net.Core.IRepositorySelector"/> that is used to
            lookup and create repositories. The selector can be set either programmatically using
            the <see cref="P:log4net.Core.LoggerManager.RepositorySelector"/> property, or by setting the <c>log4net.RepositorySelector</c>
            AppSetting in the applications config file to the fully qualified type name of the
            selector to use. 
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.LoggerManager.#ctor">
            <summary>
            Private constructor to prevent instances. Only static methods should be used.
            </summary>
            <remarks>
            <para>
            Private constructor to prevent instances. Only static methods should be used.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.#cctor">
            <summary>
            Hook the shutdown event
            </summary>
            <remarks>
            <para>
            On the full .NET runtime, the static constructor hooks up the 
            <c>AppDomain.ProcessExit</c> and <c>AppDomain.DomainUnload</c>> events. 
            These are used to shutdown the log4net system as the application exits.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.RegisterAppDomainEvents">
            <summary>
            Register for ProcessExit and DomainUnload events on the AppDomain
            </summary>
            <remarks>
            <para>
            This needs to be in a separate method because the events make
            a LinkDemand for the ControlAppDomain SecurityPermission. Because
            this is a LinkDemand it is demanded at JIT time. Therefore we cannot
            catch the exception in the method itself, we have to catch it in the
            caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.String)">
            <summary>
            Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repository">the repository to lookup in</param>
            <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetRepository(System.String)">
            <summary>
            Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repository">the repository to lookup in</param>
            <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.Exists(System.String,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the named logger does not exist in the
            specified repository.
            </returns>
            <remarks>
            <para>
            If the named logger exists (in the specified repository) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.Exists(System.Reflection.Assembly,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the named logger does not exist in the
            specified assembly's repository.
            </returns>
            <remarks>
            <para>
            If the named logger exists (in the specified assembly's repository) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.String)">
            <summary>
            Returns all the currently defined loggers in the specified repository.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <returns>All the defined loggers.</returns>
            <remarks>
            <para>
            The root logger is <b>not</b> included in the returned array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.Reflection.Assembly)">
            <summary>
            Returns all the currently defined loggers in the specified assembly's repository.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <returns>All the defined loggers.</returns>
            <remarks>
            <para>
            The root logger is <b>not</b> included in the returned array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Gets the logger for the fully qualified name of the type specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <param name="repositoryAssembly">the assembly to use to lookup the repository</param>
            <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Gets the logger for the fully qualified name of the type specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.Shutdown">
            <summary>
            Shuts down the log4net system.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in all the
            default repositories.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> 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.Core.LoggerManager.ShutdownRepository(System.String)">
            <summary>
            Shuts down the repository for the repository specified.
            </summary>
            <param name="repository">The repository to shutdown.</param>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the <paramref name="repository"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> 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.Core.LoggerManager.ShutdownRepository(System.Reflection.Assembly)">
            <summary>
            Shuts down the repository for the repository specified.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the repository. The repository is looked up using
            the <paramref name="repositoryAssembly"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> 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.Core.LoggerManager.ResetConfiguration(System.String)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <param name="repository">The repository to reset.</param>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.Reflection.Assembly)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An Exception will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An Exception will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateDomain(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetAllRepositories">
            <summary>
            Gets an array of all currently defined repositories.
            </summary>
            <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
            <remarks>
            <para>
            Gets an array of all currently defined repositories.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetVersionInfo">
            <summary>
            Internal method to get pertinent version info.
            </summary>
            <returns>A string of version info.</returns>
        </member>
        <member name="M:log4net.Core.LoggerManager.OnDomainUnload(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires
            </summary>
            <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
            <param name="e">null</param>
            <remarks>
            <para>
            Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires.
            </para>
            <para>
            When the event is triggered the log4net system is <see cref="M:log4net.Core.LoggerManager.Shutdown"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.OnProcessExit(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires
            </summary>
            <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
            <param name="e">null</param>
            <remarks>
            <para>
            Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires.
            </para>
            <para>
            When the event is triggered the log4net system is <see cref="M:log4net.Core.LoggerManager.Shutdown"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerManager.s_repositorySelector">
            <summary>
            Initialize the default repository selector
            </summary>
        </member>
        <member name="P:log4net.Core.LoggerManager.RepositorySelector">
            <summary>
            Gets or sets the repository selector used by the <see cref="T:log4net.LogManager"/>.
            </summary>
            <value>
            The repository selector used by the <see cref="T:log4net.LogManager"/>.
            </value>
            <remarks>
            <para>
            The repository selector (<see cref="T:log4net.Core.IRepositorySelector"/>) is used by 
            the <see cref="T:log4net.LogManager"/> to create and select repositories 
            (<see cref="T:log4net.Repository.ILoggerRepository"/>).
            </para>
            <para>
            The caller to <see cref="T:log4net.LogManager"/> supplies either a string name 
            or an assembly (if not supplied the assembly is inferred using 
            <see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
            </para>
            <para>
            This context is used by the selector to lookup a specific repository.
            </para>
            <para>
            For the full .NET Framework, the default repository is <c>DefaultRepositorySelector</c>;
            for the .NET Compact Framework <c>CompactRepositorySelector</c> is the default
            repository.
            </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.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="T:log4net.Util.EmptyCollection">
            <summary>
            An always empty <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            <para>
            A singleton implementation of the <see cref="T:System.Collections.ICollection"/>
            interface that always represents an empty collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.EmptyCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.EmptyCollection"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to enforce the singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyCollection.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
            <see cref="T:System.Array"/>, starting at a particular Array index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> 
            that is the destination of the elements copied from 
            <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
            indexing.</param>
            <param name="index">The zero-based index in array at which 
            copying begins.</param>
            <remarks>
            <para>
            As the collection is empty no values are copied into the array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
            <remarks>
            <para>
            As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.EmptyCollection.s_instance">
            <summary>
            The singleton instance of the empty collection.
            </summary>
        </member>
        <member name="P:log4net.Util.EmptyCollection.Instance">
            <summary>
            Gets the singleton instance of the empty collection.
            </summary>
            <returns>The singleton instance of the empty collection.</returns>
            <remarks>
            <para>
            Gets the singleton instance of the empty collection.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyCollection.IsSynchronized">
            <summary>
            Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
            </summary>
            <value>
            <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
            </value>
            <remarks>
            <para>
            For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </value>
            <remarks>
            <para>
            As the collection is empty the <see cref="P:log4net.Util.EmptyCollection.Count"/> is always <c>0</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </value>
            <remarks>
            <para>
            As the collection is empty and thread safe and synchronized this instance is also
            the <see cref="P:log4net.Util.EmptyCollection.SyncRoot"/> object.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.LogManager">
            <summary>
            This class is used by client applications to request logger instances.
            </summary>
            <remarks>
            <para>
            This class has static methods that are used by a client to request
            a logger instance. The <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method is 
            used to retrieve a logger.
            </para>
            <para>
            See the <see cref="T:log4net.ILog"/> interface for more details.
            </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>
            <threadsafety static="true" instance="true"/>
            <seealso cref="T:log4net.ILog"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.LogManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.LogManager"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.LogManager.Exists(System.String)">
            <overloads>Returns the named logger if it exists.</overloads>
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the default repository) then it
            returns a reference to the logger, otherwise it returns <c>null</c>.
            </para>
            </remarks>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>The logger found, or <c>null</c> if no logger could be found.</returns>
        </member>
        <member name="M:log4net.LogManager.Exists(System.String,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the specified repository) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the logger doesn't exist in the specified 
            repository.
            </returns>
        </member>
        <member name="M:log4net.LogManager.Exists(System.Reflection.Assembly,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the repository for the specified assembly) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger, or <c>null</c> if the logger doesn't exist in the specified
            assembly's repository.
            </returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers">
            <overloads>Get the currently defined loggers.</overloads>
            <summary>
            Returns all the currently defined loggers in the default repository.
            </summary>
            <remarks>
            <para>The root logger is <b>not</b> included in the returned array.</para>
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers(System.String)">
            <summary>
            Returns all the currently defined loggers in the specified repository.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers(System.Reflection.Assembly)">
            <summary>
            Returns all the currently defined loggers in the specified assembly's repository.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String)">
            <overloads>Get or create a logger.</overloads>
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieve a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieve a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Get the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="repository">The repository to lookup in.</param>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.Shutdown">
            <summary>
            Shuts down the log4net system.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in all the
            default repositories.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> 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.LogManager.ShutdownRepository">
            <overloads>Shutdown a logger repository.</overloads>
            <summary>
            Shuts down the default repository.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            default repository.
            </para>
            <para>Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> 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.LogManager.ShutdownRepository(System.String)">
            <summary>
            Shuts down the repository for the repository specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            <paramref name="repository"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> 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>
            <param name="repository">The repository to shutdown.</param>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository(System.Reflection.Assembly)">
            <summary>
            Shuts down the repository specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository. The repository is looked up using
            the <paramref name="repositoryAssembly"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> 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>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration">
            <overloads>Reset the configuration of a repository</overloads>
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration(System.String)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Reset all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
            <param name="repository">The repository to reset.</param>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration(System.Reflection.Assembly)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Reset all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository">
            <overloads>Get the logger repository.</overloads>
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the callers assembly (<see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
            </para>
            </remarks>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository(System.String)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repositoryAssembly"/> argument.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
        </member>
        <member name="M:log4net.LogManager.GetRepository">
            <overloads>Get a logger repository.</overloads>
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the callers assembly (<see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
            </para>
            </remarks>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
        </member>
        <member name="M:log4net.LogManager.GetRepository(System.String)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
        </member>
        <member name="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repositoryAssembly"/> argument.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.Type)">
            <overloads>Create a domain</overloads>
            <summary>
            Creates a repository with the specified repository type.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:log4net.LogManager.GetRepository"/> will return 
            the same repository instance.
            </para>
            </remarks>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.Type)">
            <overloads>Create a logger repository.</overloads>
            <summary>
            Creates a repository with the specified repository type.
            </summary>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:log4net.LogManager.GetRepository"/> will return 
            the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <remarks>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <remarks>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
        </member>
        <member name="M:log4net.LogManager.GetAllRepositories">
            <summary>
            Gets the list of currently defined repositories.
            </summary>
            <remarks>
            <para>
            Get an array of all the <see cref="T:log4net.Repository.ILoggerRepository"/> objects that have been created.
            </para>
            </remarks>
            <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapLogger(log4net.Core.ILogger)">
            <summary>
            Looks up the wrapper object for the logger specified.
            </summary>
            <param name="logger">The logger to get the wrapper for.</param>
            <returns>The wrapper for the logger specified.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapLoggers(log4net.Core.ILogger[])">
            <summary>
            Looks up the wrapper objects for the loggers specified.
            </summary>
            <param name="loggers">The loggers to get the wrappers for.</param>
            <returns>The wrapper objects for the loggers specified.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapperCreationHandler(log4net.Core.ILogger)">
            <summary>
            Create the <see cref="T:log4net.Core.ILoggerWrapper"/> objects used by
            this manager.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <returns>The wrapper for the logger specified.</returns>
        </member>
        <member name="F:log4net.LogManager.s_wrapperMap">
            <summary>
            The wrapper map to use to hold the <see cref="T:log4net.Core.LogImpl"/> objects.
            </summary>
        </member>
        <member name="T:log4net.Layout.RawTimeStampLayout">
            <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.RawTimeStampLayout.#ctor">
            <summary>
            Constructs a RawTimeStampLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.RawTimeStampLayout.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 local time. To format the time stamp
            in universal time use <see cref="T:log4net.Layout.RawUtcTimeStampLayout"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.Level">
            <summary>
            Defines the default set of levels recognized by the system.
            </summary>
            <remarks>
            <para>
            Each <see cref="T:log4net.Core.LoggingEvent"/> has an associated <see cref="T:log4net.Core.Level"/>.
            </para>
            <para>
            Levels have a numeric <see cref="P:log4net.Core.Level.Value"/> that defines the relative 
            ordering between levels. Two Levels with the same <see cref="P:log4net.Core.Level.Value"/> 
            are deemed to be equivalent.
            </para>
            <para>
            The levels that are recognized by log4net are set for each <see cref="T:log4net.Repository.ILoggerRepository"/>
            and each repository can have different levels defined. The levels are stored
            in the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> on the repository. Levels are
            looked up by name from the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>.
            </para>
            <para>
            When logging at level INFO the actual level used is not <see cref="F:log4net.Core.Level.Info"/> but
            the value of <c>LoggerRepository.LevelMap["INFO"]</c>. The default value for this is
            <see cref="F:log4net.Core.Level.Info"/>, but this can be changed by reconfiguring the level map.
            </para>
            <para>
            Each level has a <see cref="P:log4net.Core.Level.DisplayName"/> in addition to its <see cref="P:log4net.Core.Level.Name"/>. The 
            <see cref="P:log4net.Core.Level.DisplayName"/> is the string that is written into the output log. By default
            the display name is the same as the level name, but this can be used to alias levels
            or to localize the log output.
            </para>
            <para>
            Some of the predefined levels recognized by the system are:
            </para>
            <list type="bullet">
            	<item>
            		<description><see cref="F:log4net.Core.Level.Off"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Fatal"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Error"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Warn"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Info"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Debug"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.All"/>.</description>
            	</item>
            </list>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="level">Integer value for this level, higher values represent more severe levels.</param>
            <param name="levelName">The string name of this level.</param>
            <param name="displayName">The display name for this level. This may be localized or otherwise different from the name</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
            the specified level name and value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="level">Integer value for this level, higher values represent more severe levels.</param>
            <param name="levelName">The string name of this level.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
            the specified level name and value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.ToString">
            <summary>
            Returns the <see cref="T:System.String"/> representation of the current 
            <see cref="T:log4net.Core.Level"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> representation of the current <see cref="T:log4net.Core.Level"/>.
            </returns>
            <remarks>
            <para>
            Returns the level <see cref="P:log4net.Core.Level.Name"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.Equals(System.Object)">
            <summary>
            Compares levels.
            </summary>
            <param name="o">The object to compare against.</param>
            <returns><c>true</c> if the objects are equal.</returns>
            <remarks>
            <para>
            Compares the levels of <see cref="T:log4net.Core.Level"/> instances, and 
            defers to base class if the target object is not a <see cref="T:log4net.Core.Level"/>
            instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.GetHashCode">
            <summary>
            Returns a hash code
            </summary>
            <returns>A hash code for the current <see cref="T:log4net.Core.Level"/>.</returns>
            <remarks>
            <para>
            Returns a hash code suitable for use in hashing algorithms and data 
            structures like a hash table.
            </para>
            <para>
            Returns the hash code of the level <see cref="P:log4net.Core.Level.Value"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an 
            indication of their relative values.
            </summary>
            <param name="r">A <see cref="T:log4net.Core.Level"/> instance or <see langword="null"/> to compare with this instance.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the 
            values compared. The return value has these meanings:
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Meaning</description>
            	</listheader>
            	<item>
            		<term>Less than zero</term>
            		<description>This instance is less than <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Zero</term>
            		<description>This instance is equal to <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Greater than zero</term>
            		<description>
            			<para>This instance is greater than <paramref name="r"/>.</para>
            			<para>-or-</para>
            			<para><paramref name="r"/> is <see langword="null"/>.</para>
            			</description>
            	</item>
            </list>
            </returns>
            <remarks>
            <para>
            <paramref name="r"/> must be an instance of <see cref="T:log4net.Core.Level"/> 
            or <see langword="null"/>; otherwise, an exception is thrown.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentException"><paramref name="r"/> is not a <see cref="T:log4net.Core.Level"/>.</exception>
        </member>
        <member name="M:log4net.Core.Level.op_GreaterThan(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is greater than another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is greater than 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_LessThan(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is less than another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is less than 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_GreaterThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is greater than or equal to another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is greater than or equal to 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_LessThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is less than or equal to another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is less than or equal to 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_Equality(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/> 
            objects have the same value.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <param name="r">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <returns>
            <c>true</c> if the value of <paramref name="l"/> is the same as the 
            value of <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_Inequality(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/> 
            objects have different values.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <param name="r">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <returns>
            <c>true</c> if the value of <paramref name="l"/> is different from
            the value of <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.Compare(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Compares two specified <see cref="T:log4net.Core.Level"/> instances.
            </summary>
            <param name="l">The first <see cref="T:log4net.Core.Level"/> to compare.</param>
            <param name="r">The second <see cref="T:log4net.Core.Level"/> to compare.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the 
            two values compared. The return value has these meanings:
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Meaning</description>
            	</listheader>
            	<item>
            		<term>Less than zero</term>
            		<description><paramref name="l"/> is less than <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Zero</term>
            		<description><paramref name="l"/> is equal to <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Greater than zero</term>
            		<description><paramref name="l"/> is greater than <paramref name="r"/>.</description>
            	</item>
            </list>
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.Level.Off">
            <summary>
            The <see cref="F:log4net.Core.Level.Off"/> level designates a higher level than all the rest.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Emergency">
            <summary>
            The <see cref="F:log4net.Core.Level.Emergency"/> level designates very severe error events. 
            System unusable, emergencies.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Fatal">
            <summary>
            The <see cref="F:log4net.Core.Level.Fatal"/> level designates very severe error events 
            that will presumably lead the application to abort.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Alert">
            <summary>
            The <see cref="F:log4net.Core.Level.Alert"/> level designates very severe error events. 
            Take immediate action, alerts.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Critical">
            <summary>
            The <see cref="F:log4net.Core.Level.Critical"/> level designates very severe error events. 
            Critical condition, critical.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Severe">
            <summary>
            The <see cref="F:log4net.Core.Level.Severe"/> level designates very severe error events.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Error">
            <summary>
            The <see cref="F:log4net.Core.Level.Error"/> level designates error events that might 
            still allow the application to continue running.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Warn">
            <summary>
            The <see cref="F:log4net.Core.Level.Warn"/> level designates potentially harmful 
            situations.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Notice">
            <summary>
            The <see cref="F:log4net.Core.Level.Notice"/> level designates informational messages 
            that highlight the progress of the application at the highest level.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Info">
            <summary>
            The <see cref="F:log4net.Core.Level.Info"/> level designates informational messages that 
            highlight the progress of the application at coarse-grained level.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Debug">
            <summary>
            The <see cref="F:log4net.Core.Level.Debug"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Fine">
            <summary>
            The <see cref="F:log4net.Core.Level.Fine"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Trace">
            <summary>
            The <see cref="F:log4net.Core.Level.Trace"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Finer">
            <summary>
            The <see cref="F:log4net.Core.Level.Finer"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Verbose">
            <summary>
            The <see cref="F:log4net.Core.Level.Verbose"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Finest">
            <summary>
            The <see cref="F:log4net.Core.Level.Finest"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.All">
            <summary>
            The <see cref="F:log4net.Core.Level.All"/> level designates the lowest level possible.
            </summary>
        </member>
        <member name="P:log4net.Core.Level.Name">
            <summary>
            Gets the name of this level.
            </summary>
            <value>
            The name of this level.
            </value>
            <remarks>
            <para>
            Gets the name of this level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.Level.Value">
            <summary>
            Gets the value of this level.
            </summary>
            <value>
            The value of this level.
            </value>
            <remarks>
            <para>
            Gets the value of this level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.Level.DisplayName">
            <summary>
            Gets the display name of this level.
            </summary>
            <value>
            The display name of this level.
            </value>
            <remarks>
            <para>
            Gets the display name of this level.
            </para>
            </remarks>
        </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="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.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="repository"/> 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="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.RemotingAppender">
            <summary>
            Delivers logging events to a remote logging sink. 
            </summary>
            <remarks>
            <para>
            This Appender is designed to deliver events to a remote sink. 
            That is any object that implements the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            interface. It delivers the events using .NET remoting. The
            object to deliver events to is specified by setting the
            appenders <see cref="P:log4net.Appender.RemotingAppender.Sink"/> property.</para>
            <para>
            The RemotingAppender buffers events before sending them. This allows it to 
            make more efficient use of the remoting infrastructure.</para>
            <para>
            Once the buffer is full the events are still not sent immediately. 
            They are scheduled to be sent using a pool thread. The effect is that 
            the send occurs asynchronously. This is very important for a 
            number of non obvious reasons. The remoting infrastructure will 
            flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
            if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the 
            remoting boundary. If the server is not contactable then
            the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
            objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
            having side effects on the calling application the remoting call must be made
            from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
            thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
            the events will block in the thread pool manager until a thread is available.</para>
            <para>
            Because the events are sent asynchronously using pool threads it is possible to close 
            this appender before all the queued events have been sent.
            When closing the appender attempts to wait until all the queued events have been sent, but 
            this will timeout after 30 seconds regardless.</para>
            <para>
            If this appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
            event has fired it may not be possible to send all the queued events. During process
            exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
            event handler is allowed to run for. If the runtime terminates the threads before
            the queued events have been sent then they will be lost. To ensure that all events
            are sent the appender must be closed before the application exits. See 
            <see cref="M:log4net.Core.LoggerManager.Shutdown"/> for details on how to shutdown
            log4net programmatically.</para>
            </remarks>
            <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Daniel Cazzulino</author>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.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.RemotingAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.RemotingAppender.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.RemotingAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Send the contents of the buffer to the remote sink.
            </summary>
            <remarks>
            The events are not sent immediately. They are scheduled to be sent
            using a pool thread. The effect is that the send occurs asynchronously.
            This is very important for a number of non obvious reasons. The remoting
            infrastructure will flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
            if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the 
            remoting boundary. If the server is not contactable then
            the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
            objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
            having side effects on the calling application the remoting call must be made
            from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
            thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
            the events will block in the thread pool manager until a thread is available.
            </remarks>
            <param name="events">The events to send.</param>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.OnClose">
            <summary>
            Override base class close.
            </summary>
            <remarks>
            <para>
            This method waits while there are queued work items. The events are
            sent asynchronously using <see cref="T:System.Threading.ThreadPool"/> work items. These items
            will be sent once a thread pool thread is available to send them, therefore
            it is possible to close the appender before all the queued events have been
            sent.</para>
            <para>
            This method attempts to wait until all the queued events have been sent, but this 
            method will timeout after 30 seconds regardless.</para>
            <para>
            If the appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
            event has fired it may not be possible to send all the queued events. During process
            exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
            event handler is allowed to run for.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.BeginAsyncSend">
            <summary>
            A work item is being queued into the thread pool
            </summary>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.EndAsyncSend">
            <summary>
            A work item from the thread pool has completed
            </summary>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.SendBufferCallback(System.Object)">
            <summary>
            Send the contents of the buffer to the remote sink.
            </summary>
            <remarks>
            This method is designed to be used with the <see cref="T:System.Threading.ThreadPool"/>.
            This method expects to be passed an array of <see cref="T:log4net.Core.LoggingEvent"/>
            objects in the state param.
            </remarks>
            <param name="state">the logging events to send</param>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
            <summary>
            The URL of the remote sink.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
            <summary>
            The local proxy (.NET remoting) for the remote logging sink.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_queuedCallbackCount">
            <summary>
            The number of queued callbacks currently waiting or executing
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_workQueueEmptyEvent">
            <summary>
            Event used to signal when there are no queued work items
            </summary>
            <remarks>
            This event is set when there are no queued work items. In this
            state it is safe to close the appender.
            </remarks>
        </member>
        <member name="P:log4net.Appender.RemotingAppender.Sink">
            <summary>
            Gets or sets the URL of the well-known object that will accept 
            the logging events.
            </summary>
            <value>
            The well-known URL of the remote sink.
            </value>
            <remarks>
            <para>
            The URL of the remoting sink that will accept logging events.
            The sink must implement the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            interface.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
            <summary>
            Interface used to deliver <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
            </summary>
            <remarks>
            This interface must be implemented by a remoting sink
            if the <see cref="T:log4net.Appender.RemotingAppender"/> is to be used
            to deliver logging events to the sink.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.Core.LoggingEvent[])">
            <summary>
            Delivers logging events to the remote sink
            </summary>
            <param name="events">Array of events to log.</param>
            <remarks>
            <para>
            Delivers logging events to the remote sink
            </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.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.s_type2converter">
            <summary>
            Mapping from <see cref="T:System.Type"/> to type converter.
            </summary>
        </member>
        <member name="T:log4net.Util.PropertiesDictionary">
            <summary>
            String keyed object map.
            </summary>
            <remarks>
            <para>
            While this collection is serializable only member 
            objects that are serializable will
            be serialized along with this collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.ReadOnlyPropertiesDictionary">
            <summary>
            String keyed object map that is read only.
            </summary>
            <remarks>
            <para>
            This collection is readonly and cannot be modified.
            </para>
            <para>
            While this collection is serializable only member 
            objects that are serializable will
            be serialized along with this collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Util.ReadOnlyPropertiesDictionary.m_hashtable">
            <summary>
            The Hashtable used to store the properties data
            </summary>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
            <summary>
            Copy Constructor
            </summary>
            <param name="propertiesDictionary">properties to copy</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Deserialization constructor
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</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.Util.ReadOnlyPropertiesDictionary"/> class 
            with serialized data.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetKeys">
            <summary>
            Gets the key names.
            </summary>
            <returns>An array of all the keys.</returns>
            <remarks>
            <para>
            Gets the key names.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Contains(System.String)">
            <summary>
            Test if the dictionary contains a specified key
            </summary>
            <param name="key">the key to look for</param>
            <returns>true if the dictionary contains the specified key</returns>
            <remarks>
            <para>
            Test if the dictionary contains a specified key
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination for this serialization.</param>
            <remarks>
            <para>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
            </summary>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Clear">
            <summary>
            Remove all properties from the properties collection
            </summary>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Item(System.String)">
            <summary>
            Gets or sets the value of the  property with the specified key.
            </summary>
            <value>
            The value of the property with the specified key.
            </value>
            <param name="key">The key of the property to get or set.</param>
            <remarks>
            <para>
            The property value will only be serialized if it is serializable.
            If it cannot be serialized it will be silently ignored if
            a serialization operation is performed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.InnerHashtable">
            <summary>
            The hashtable used to store the properties
            </summary>
            <value>
            The internal collection used to store the properties
            </value>
            <remarks>
            <para>
            The hashtable used to store the properties
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Values">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Values"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Keys">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Keys"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#IsSynchronized">
            <summary>
            See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Count">
            <summary>
            The number of properties in this collection
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="P:System.Collections.ICollection.SyncRoot"/>
            </summary>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
            <summary>
            Constructor
            </summary>
            <param name="propertiesDictionary">properties to copy</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class 
            with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Because this class is sealed the serialization constructor is private.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.Remove(System.String)">
            <summary>
            Remove the entry with the specified key from this dictionary
            </summary>
            <param name="key">the key for the entry to remove</param>
            <remarks>
            <para>
            Remove the entry with the specified key from this dictionary
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
            </summary>
            <returns>an enumerator</returns>
            <remarks>
            <para>
            Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> over the contest of this collection.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
            </summary>
            <param name="key">the key to remove</param>
            <remarks>
            <para>
            Remove the entry with the specified key from this dictionary
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
            </summary>
            <param name="key">the key to lookup in the collection</param>
            <returns><c>true</c> if the collection contains the specified key</returns>
            <remarks>
            <para>
            Test if this collection contains a specified key.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.Clear">
            <summary>
            Remove all properties from the properties collection
            </summary>
            <remarks>
            <para>
            Remove all properties from the properties collection
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
            </summary>
            <param name="key">the key</param>
            <param name="value">the value to store for the key</param>
            <remarks>
            <para>
            Store a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.Item(System.String)">
            <summary>
            Gets or sets the value of the  property with the specified key.
            </summary>
            <value>
            The value of the property with the specified key.
            </value>
            <param name="key">The key of the property to get or set.</param>
            <remarks>
            <para>
            The property value will only be serialized if it is serializable.
            If it cannot be serialized it will be silently ignored if
            a serialization operation is performed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
            </summary>
            <value>
            <c>false</c>
            </value>
            <remarks>
            <para>
            This collection is modifiable. This property always
            returns <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
            </summary>
            <value>
            The value for the key specified.
            </value>
            <remarks>
            <para>
            Get or set a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Values">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Values"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Keys">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Keys"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#IsSynchronized">
            <summary>
            See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="P:System.Collections.ICollection.SyncRoot"/>
            </summary>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.ProcessIdPatternConverter">
            <summary>
            Write the current process ID to the output
            </summary>
            <remarks>
            <para>
            Write the current process ID to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current process ID 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 process ID to the output <paramref name="writer"/>.
            </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.LogicalThreadContext">
            <summary>
            The log4net Logical Thread Context.
            </summary>
            <remarks>
            <para>
            The <c>LogicalThreadContext</c> provides a location for <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> specific debugging 
            information to be stored.
            The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> or <see cref="T:log4net.GlobalContext"/>
            properties with the same name.
            </para>
            <para>
            The Logical Thread Context has a properties map and a stack.
            The properties and stack can 
            be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
            supports selecting and outputting these properties.
            </para>
            <para>
            The Logical Thread Context provides a diagnostic context for the current call context. 
            This 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 Logical Thread Context is managed on a per <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> basis.
            </para>
            <para>
            The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> requires a link time 
            <see cref="T:System.Security.Permissions.SecurityPermission"/> for the
            <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure"/>.
            If the calling code does not have this permission then this context will be disabled.
            It will not store any property values set on it.
            </para>
            </remarks>
            <example>Example of using the thread context properties to store a username.
            <code lang="C#">
            LogicalThreadContext.Properties["user"] = userName;
            log.Info("This log message has a LogicalThreadContext Property called 'user'");
            </code>
            </example>
            <example>Example of how to push a message into the context stack
            <code lang="C#">
            using(LogicalThreadContext.Stacks["LDC"].Push("my context message"))
            {
            	log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'");
            
            } // at the end of the using block the message is automatically popped 
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.LogicalThreadContext.#ctor">
            <summary>
            Private Constructor. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.LogicalThreadContext.s_properties">
            <summary>
            The thread context properties instance
            </summary>
        </member>
        <member name="F:log4net.LogicalThreadContext.s_stacks">
            <summary>
            The thread context stacks instance
            </summary>
        </member>
        <member name="P:log4net.LogicalThreadContext.Properties">
            <summary>
            The thread properties map
            </summary>
            <value>
            The thread properties map
            </value>
            <remarks>
            <para>
            The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> 
            or <see cref="T:log4net.GlobalContext"/> properties with the same name.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.LogicalThreadContext.Stacks">
            <summary>
            The thread stacks
            </summary>
            <value>
            stack map
            </value>
            <remarks>
            <para>
            The logical thread stacks.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Layout2RawLayoutAdapter">
            <summary>
            Adapts any <see cref="T:log4net.Layout.ILayout"/> to a <see cref="T:log4net.Layout.IRawLayout"/>
            </summary>
            <remarks>
            <para>
            Where an <see cref="T:log4net.Layout.IRawLayout"/> is required this adapter
            allows a <see cref="T:log4net.Layout.ILayout"/> to be specified.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Layout.Layout2RawLayoutAdapter.m_layout">
            <summary>
            The layout to adapt
            </summary>
        </member>
        <member name="M:log4net.Layout.Layout2RawLayoutAdapter.#ctor(log4net.Layout.ILayout)">
            <summary>
            Construct a new adapter
            </summary>
            <param name="layout">the layout to adapt</param>
            <remarks>
            <para>
            Create the adapter for the specified <paramref name="layout"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Layout2RawLayoutAdapter.Format(log4net.Core.LoggingEvent)">
            <summary>
            Format the logging event as an object.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>
            Format the logging event as an object.
            </para>
            <para>
            Uses the <see cref="T:log4net.Layout.ILayout"/> object supplied to 
            the constructor to perform the formatting.
            </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.Core.CompactRepositorySelector">
            <summary>
            The implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface suitable
            for use with the compact framework
            </summary>
            <remarks>
            <para>
            This <see cref="T:log4net.Core.IRepositorySelector"/> implementation is a simple
            mapping between repository name and <see cref="T:log4net.Repository.ILoggerRepository"/>
            object.
            </para>
            <para>
            The .NET Compact Framework 1.0 does not support retrieving assembly
            level attributes therefore unlike the <c>DefaultRepositorySelector</c>
            this selector does not examine the calling assembly for attributes.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </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>
      