﻿<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>TelnetAppender Methods</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="TelnetAppender class, methods" /><meta name="Microsoft.Help.Id" content="Methods.T:log4net.Appender.TelnetAppender" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Appender" /><meta name="file" content="Methods_T_log4net_Appender_TelnetAppender" /><meta name="guid" content="Methods_T_log4net_Appender_TelnetAppender" /><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">TelnetAppender Methods</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span>The <a href="T_log4net_Appender_TelnetAppender.htm" target="">TelnetAppender</a> type exposes the following members.<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Methods</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><table id="memberList" class="members"><tr><th class="ps_iconColumn">
							 
						</th><th class="ps_nameColumn">Name</th><th class="ps_descriptionColumn">Description</th></tr><tr data="public;declared;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_TelnetAppender_ActivateOptions.htm" target="">ActivateOptions</a></td><td><div class="summary">
            Initialize the appender based on the options set.
            </div> (Overrides <a href="M_log4net_Appender_AppenderSkeleton_ActivateOptions.htm" target="">AppenderSkeleton<span id="ID0ECBATBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0ECBATBCAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>ActivateOptions<span id="ID0EABATBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EABATBCAAAAA?vb=|cpp=()|cs=()|fs=()|nu=()");
				</script></a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_AddFilter.htm" target="">AddFilter</a></td><td><div class="summary">
            Adds a filter to the end of the filter chain.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_Append_1.htm" target="">Append(<span id="ID0EDABRBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EDABRBCAAAAA?vb=|cpp=array&lt;|cs=|fs=|nu=");
				</script>LoggingEvent<span id="ID0EBABRBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABRBCAAAAA?vb=()|cpp=&gt;|cs=[]|fs=[]|nu=[]");
				</script>)</a></td><td><div class="summary">
            Append a bulk array of logging events.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="protected;declared;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_TelnetAppender_Append.htm" target="">Append(LoggingEvent)</a></td><td><div class="summary">
            Writes the logging event to each connected client.
            </div> (Overrides <a href="M_log4net_Appender_AppenderSkeleton_Append.htm" target="">AppenderSkeleton<span id="ID0EBBAQBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBAQBCAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Append(LoggingEvent)</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_ClearFilters.htm" target="">ClearFilters</a></td><td><div class="summary">
            Clears the filter list for this appender.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_Close.htm" target="">Close</a></td><td><div class="summary">
            Closes the appender and release resources.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_DoAppend.htm" target="">DoAppend(LoggingEvent)</a></td><td><div class="summary">
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <span class="nolink">[M:Append(LoggingEvent)]</span> method.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_DoAppend_1.htm" target="">DoAppend(<span id="ID0EDABMBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EDABMBCAAAAA?vb=|cpp=array&lt;|cs=|fs=|nu=");
				</script>LoggingEvent<span id="ID0EBABMBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABMBCAAAAA?vb=()|cpp=&gt;|cs=[]|fs=[]|nu=[]");
				</script>)</a></td><td><div class="summary">
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <span class="nolink">[M:Append(LoggingEvent[])]</span> method.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/bsc2ak47" target="_blank">Equals</a></td><td><div class="summary">
                    Determines whether the specified <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is equal to the current <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
                </div> (Inherited from <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_FilterEvent.htm" target="">FilterEvent</a></td><td><div class="summary">
            Test if the logging event should we output by this appender
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_Finalize.htm" target="">Finalize</a></td><td><div class="summary">
            Finalizes this appender by calling the implementation's 
            <a href="M_log4net_Appender_AppenderSkeleton_Close.htm" target="">Close<span id="ID0EABDAJBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EABDAJBCAAAAA?vb=|cpp=()|cs=()|fs=()|nu=()");
				</script></a> method.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/zdee4b3y" target="_blank">GetHashCode</a></td><td><div class="summary">
                    Serves as a hash function for a particular type. 
                </div> (Inherited from <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/dfwy45w9" target="_blank">GetType</a></td><td><div class="summary">
                    Gets the <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/42892f65" target="_blank">Type</a> of the current instance.
                </div> (Inherited from <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_IsAsSevereAsThreshold.htm" target="">IsAsSevereAsThreshold</a></td><td><div class="summary">
            Checks if the message level is below this appender's threshold.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/57ctke0a" target="_blank">MemberwiseClone</a></td><td><div class="summary">
                    Creates a shallow copy of the current <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
                </div> (Inherited from <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;declared;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_TelnetAppender_OnClose.htm" target="">OnClose</a></td><td><div class="summary">
            Overrides the parent method to close the socket handler
            </div> (Overrides <a href="M_log4net_Appender_AppenderSkeleton_OnClose.htm" target="">AppenderSkeleton<span id="ID0ECBAEBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0ECBAEBCAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>OnClose<span id="ID0EABAEBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EABAEBCAAAAA?vb=|cpp=()|cs=()|fs=()|nu=()");
				</script></a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_PreAppendCheck.htm" target="">PreAppendCheck</a></td><td><div class="summary">
            Called before <span class="nolink">[M:Append(LoggingEvent)]</span> as a precondition.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_RenderLoggingEvent.htm" target="">RenderLoggingEvent(LoggingEvent)</a></td><td><div class="summary">
            Renders the <a href="T_log4net_Core_LoggingEvent.htm" target="">LoggingEvent</a> to a string.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="./../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Appender_AppenderSkeleton_RenderLoggingEvent_1.htm" target="">RenderLoggingEvent(TextWriter, LoggingEvent)</a></td><td><div class="summary">
            Renders the <a href="T_log4net_Core_LoggingEvent.htm" target="">LoggingEvent</a> to a string.
            </div> (Inherited from <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">AppenderSkeleton</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="./../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/7bxwbwt2" target="_blank">ToString</a></td><td><div class="summary">
                    Returns a <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a> that represents the current <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
                </div> (Inherited from <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr></table><a href="#mainBody" target="">Back to Top</a><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Appender_TelnetAppender.htm" target="">TelnetAppender Class</a></div><div class="seeAlsoStyle"><a href="N_log4net_Appender.htm" target="">log4net.Appender Namespace</a></div></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+TelnetAppender+Methods+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>