﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>log4net.Appender Namespace</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="log4net.Appender namespace" /><meta name="Microsoft.Help.F1" content="log4net.Appender" /><meta name="Microsoft.Help.Id" content="N:log4net.Appender" /><meta name="Description" content=" " /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Appender" /><meta name="file" content="N_log4net_Appender" /><meta name="guid" content="N_log4net_Appender" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">log4net.Appender Namespace</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><div class="summary"> </div><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Classes</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><table id="typeList" class="members"><tr><th class="ps_iconColumn">
					 
				</th><th class="ps_nameColumn">Class</th><th class="ps_descriptionColumn">Description</th></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AdoNetAppender.htm" target="">AdoNetAppender</a></td><td><div class="summary">
            Appender that logs to a database.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AdoNetAppenderParameter.htm" target="">AdoNetAppenderParameter</a></td><td><div class="summary">
            Parameter type used by the <a href="T_log4net_Appender_AdoNetAppender.htm" target="">AdoNetAppender</a>.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AnsiColorTerminalAppender.htm" target="">AnsiColorTerminalAppender</a></td><td><div class="summary">
            Appends logging events to the terminal using ANSI color escape sequences.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AnsiColorTerminalAppender_LevelColors.htm" target="">AnsiColorTerminalAppender<span id="ID0EBAB0EB0ACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBAB0EB0ACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LevelColors</a></td><td><div class="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.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AppenderCollection.htm" target="">AppenderCollection</a></td><td><div class="summary">
            A strongly-typed collection of <a href="T_log4net_Appender_IAppender.htm" target="">IAppender</a> objects.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a></td><td><div class="summary">
            Abstract base class implementation of <a href="T_log4net_Appender_IAppender.htm" target="">IAppender</a>. 
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_AspNetTraceAppender.htm" target="">AspNetTraceAppender</a></td><td><div class="summary"><p>
            Appends log events to the ASP.NET <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/427zc4k9" target="_blank">TraceContext</a> system.
            </p></div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_BufferingAppenderSkeleton.htm" target="">BufferingAppenderSkeleton</a></td><td><div class="summary">
            Abstract base class implementation of <a href="T_log4net_Appender_IAppender.htm" target="">IAppender</a> that 
            buffers events in a fixed size buffer.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_BufferingForwardingAppender.htm" target="">BufferingForwardingAppender</a></td><td><div class="summary">
            Buffers events and then forwards them to attached appenders.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_ColoredConsoleAppender.htm" target="">ColoredConsoleAppender</a></td><td><div class="summary">
            Appends logging events to the console.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_ColoredConsoleAppender_LevelColors.htm" target="">ColoredConsoleAppender<span id="ID0EBAB4ACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBAB4ACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LevelColors</a></td><td><div class="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.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_ConsoleAppender.htm" target="">ConsoleAppender</a></td><td><div class="summary">
            Appends logging events to the console.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_DebugAppender.htm" target="">DebugAppender</a></td><td><div class="summary">
            Appends log events to the <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/6x31ezs1" target="_blank">Debug</a> system.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_EventLogAppender.htm" target="">EventLogAppender</a></td><td><div class="summary">
            Writes events to the system event log.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_EventLogAppender_Level2EventLogEntryType.htm" target="">EventLogAppender<span id="ID0EBABZACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABZACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Level2EventLogEntryType</a></td><td><div class="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.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_FileAppender.htm" target="">FileAppender</a></td><td><div class="summary">
            Appends logging events to a file.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_FileAppender_ExclusiveLock.htm" target="">FileAppender<span id="ID0EBABXACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABXACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>ExclusiveLock</a></td><td><div class="summary">
            Hold an exclusive lock on the output file
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_FileAppender_InterProcessLock.htm" target="">FileAppender<span id="ID0EBABWACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABWACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>InterProcessLock</a></td><td><div class="summary">
            Provides cross-process file locking.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_FileAppender_LockingModelBase.htm" target="">FileAppender<span id="ID0EBABVACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABVACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LockingModelBase</a></td><td><div class="summary">
            Locking model base class
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_FileAppender_MinimalLock.htm" target="">FileAppender<span id="ID0EBABUACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABUACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>MinimalLock</a></td><td><div class="summary">
            Acquires the file lock for each write
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_ForwardingAppender.htm" target="">ForwardingAppender</a></td><td><div class="summary">
            This appender forwards logging events to attached appenders.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_LocalSyslogAppender.htm" target="">LocalSyslogAppender</a></td><td><div class="summary">
            Logs events to a local syslog service.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_LocalSyslogAppender_LevelSeverity.htm" target="">LocalSyslogAppender<span id="ID0EBABRACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABRACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LevelSeverity</a></td><td><div class="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.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_ManagedColoredConsoleAppender.htm" target="">ManagedColoredConsoleAppender</a></td><td><div class="summary">
            Appends colorful logging events to the console, using the .NET 2
            built-in capabilities.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_ManagedColoredConsoleAppender_LevelColors.htm" target="">ManagedColoredConsoleAppender<span id="ID0EBABPACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABPACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LevelColors</a></td><td><div class="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.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_MemoryAppender.htm" target="">MemoryAppender</a></td><td><div class="summary">
            Stores logging events in an array.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_NetSendAppender.htm" target="">NetSendAppender</a></td><td><div class="summary">
            Logs entries by sending network messages using the 
            <a href="M_log4net_Appender_NetSendAppender_NetMessageBufferSend.htm" target="">NetMessageBufferSend(String, String, String, String, Int32)</a> native function.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_OutputDebugStringAppender.htm" target="">OutputDebugStringAppender</a></td><td><div class="summary">
            Appends log events to the OutputDebugString system.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_RemoteSyslogAppender.htm" target="">RemoteSyslogAppender</a></td><td><div class="summary">
            Logs events to a remote syslog daemon.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_RemoteSyslogAppender_LevelSeverity.htm" target="">RemoteSyslogAppender<span id="ID0EBABKACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABKACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LevelSeverity</a></td><td><div class="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.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_RemotingAppender.htm" target="">RemotingAppender</a></td><td><div class="summary">
            Delivers logging events to a remote logging sink. 
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_RollingFileAppender.htm" target="">RollingFileAppender</a></td><td><div class="summary">
            Appender that rolls log files based on size or date or both.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_SmtpAppender.htm" target="">SmtpAppender</a></td><td><div class="summary">
            Send an e-mail when a specific logging event occurs, typically on errors 
            or fatal errors.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_SmtpPickupDirAppender.htm" target="">SmtpPickupDirAppender</a></td><td><div class="summary">
            Send an email when a specific logging event occurs, typically on errors 
            or fatal errors. Rather than sending via smtp it writes a file into the
            directory specified by <a href="P_log4net_Appender_SmtpPickupDirAppender_PickupDir.htm" target="">PickupDir</a>. This allows services such
            as the IIS SMTP agent to manage sending the messages.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_TelnetAppender.htm" target="">TelnetAppender</a></td><td><div class="summary">
            Appender that allows clients to connect via Telnet to receive log messages
            </div></td></tr><tr data="class; public"><td><img src="./../icons/protclass.gif" alt="Protected class" title="Protected class" /></td><td><a href="T_log4net_Appender_TelnetAppender_SocketHandler.htm" target="">TelnetAppender<span id="ID0EBABEACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABEACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SocketHandler</a></td><td><div class="summary">
            Helper class to manage connected clients
            </div></td></tr><tr data="class; public"><td><img src="./../icons/protclass.gif" alt="Protected class" title="Protected class" /></td><td><a href="T_log4net_Appender_TelnetAppender_SocketHandler_SocketClient.htm" target="">TelnetAppender<span id="ID0EDABDACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EDABDACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SocketHandler<span id="ID0EBABDACAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABDACAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SocketClient</a></td><td><div class="summary">
            Class that represents a client connected to this handler
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_TextWriterAppender.htm" target="">TextWriterAppender</a></td><td><div class="summary">
            Sends logging events to a <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_TraceAppender.htm" target="">TraceAppender</a></td><td><div class="summary">
            Appends log events to the <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/36hhw2t6" target="_blank">Trace</a> system.
            </div></td></tr><tr data="class; public"><td><img src="./../icons/pubclass.gif" alt="Public class" title="Public class" /></td><td><a href="T_log4net_Appender_UdpAppender.htm" target="">UdpAppender</a></td><td><div class="summary">
             Sends logging events as connectionless UDP datagrams to a remote host or a 
             multicast group using an <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/9wkb9k12" target="_blank">UdpClient</a>.
             </div></td></tr></table><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Interfaces</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><table id="typeList" class="members"><tr><th class="ps_iconColumn">
					 
				</th><th class="ps_nameColumn">Interface</th><th class="ps_descriptionColumn">Description</th></tr><tr data="interface; public"><td><img src="./../icons/pubinterface.gif" alt="Public interface" title="Public interface" /></td><td><a href="T_log4net_Appender_IAppender.htm" target="">IAppender</a></td><td><div class="summary">
            Implement this interface for your own strategies for printing log statements.
            </div></td></tr><tr data="interface; public"><td><img src="./../icons/pubinterface.gif" alt="Public interface" title="Public interface" /></td><td><a href="T_log4net_Appender_IBulkAppender.htm" target="">IBulkAppender</a></td><td><div class="summary">
            Interface for appenders that support bulk logging.
            </div></td></tr><tr data="interface; public"><td><img src="./../icons/pubinterface.gif" alt="Public interface" title="Public interface" /></td><td><a href="T_log4net_Appender_RemotingAppender_IRemoteLoggingSink.htm" target="">RemotingAppender<span id="ID0EBABBABAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABBABAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>IRemoteLoggingSink</a></td><td><div class="summary">
            Interface used to deliver <a href="T_log4net_Core_LoggingEvent.htm" target="">LoggingEvent</a> objects to a remote sink.
            </div></td></tr><tr data="interface; public"><td><img src="./../icons/pubinterface.gif" alt="Public interface" title="Public interface" /></td><td><a href="T_log4net_Appender_RollingFileAppender_IDateTime.htm" target="">RollingFileAppender<span id="ID0EBABAABAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABAABAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>IDateTime</a></td><td><div class="summary">
            This interface is used to supply Date/Time information to the <a href="T_log4net_Appender_RollingFileAppender.htm" target="">RollingFileAppender</a>.
            </div></td></tr></table><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Enumerations</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><table id="typeList" class="members"><tr><th class="ps_iconColumn">
					 
				</th><th class="ps_nameColumn">Enumeration</th><th class="ps_descriptionColumn">Description</th></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_AnsiColorTerminalAppender_AnsiAttributes.htm" target="">AnsiColorTerminalAppender<span id="ID0EBABJAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABJAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>AnsiAttributes</a></td><td><div class="summary">
            The enum of possible display attributes
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_AnsiColorTerminalAppender_AnsiColor.htm" target="">AnsiColorTerminalAppender<span id="ID0EBABIAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABIAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>AnsiColor</a></td><td><div class="summary">
            The enum of possible foreground or background color values for 
            use with the color mapping method
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_ColoredConsoleAppender_Colors.htm" target="">ColoredConsoleAppender<span id="ID0EBABHAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABHAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Colors</a></td><td><div class="summary">
            The enum of possible color values for use with the color mapping method
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_LocalSyslogAppender_SyslogFacility.htm" target="">LocalSyslogAppender<span id="ID0EBABGAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABGAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SyslogFacility</a></td><td><div class="summary">
            syslog facilities
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_LocalSyslogAppender_SyslogSeverity.htm" target="">LocalSyslogAppender<span id="ID0EBABFAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABFAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SyslogSeverity</a></td><td><div class="summary">
            syslog severities
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_RemoteSyslogAppender_SyslogFacility.htm" target="">RemoteSyslogAppender<span id="ID0EBABEAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABEAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SyslogFacility</a></td><td><div class="summary">
            syslog facilities
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_RemoteSyslogAppender_SyslogSeverity.htm" target="">RemoteSyslogAppender<span id="ID0EBABDAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABDAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SyslogSeverity</a></td><td><div class="summary">
            syslog severities
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_RollingFileAppender_RollingMode.htm" target="">RollingFileAppender<span id="ID0EBABCAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABCAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>RollingMode</a></td><td><div class="summary">
            Style of rolling to use
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/protenumeration.gif" alt="Protected enumeration" title="Protected enumeration" /></td><td><a href="T_log4net_Appender_RollingFileAppender_RollPoint.htm" target="">RollingFileAppender<span id="ID0EBABBAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABBAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>RollPoint</a></td><td><div class="summary">
            The code assumes that the following 'time' constants are in a increasing sequence.
            </div></td></tr><tr data="enumeration; public"><td><img src="./../icons/pubenumeration.gif" alt="Public enumeration" title="Public enumeration" /></td><td><a href="T_log4net_Appender_SmtpAppender_SmtpAuthentication.htm" target="">SmtpAppender<span id="ID0EBABAAAAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABAAAAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>SmtpAuthentication</a></td><td><div class="summary">
            Values for the <a href="P_log4net_Appender_SmtpAppender_Authentication.htm" target="">Authentication</a> property.
            </div></td></tr></table></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+log4net.Appender+Namespace+100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>