﻿<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>ColoredConsoleAppender Class</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="ColoredConsoleAppender class" /><meta name="System.Keywords" content="log4net.Appender.ColoredConsoleAppender class" /><meta name="System.Keywords" content="ColoredConsoleAppender class, about ColoredConsoleAppender class" /><meta name="Microsoft.Help.F1" content="log4net.Appender.ColoredConsoleAppender" /><meta name="Microsoft.Help.Id" content="T:log4net.Appender.ColoredConsoleAppender" /><meta name="Description" content="Appends logging events to the console." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Appender" /><meta name="file" content="T_log4net_Appender_ColoredConsoleAppender" /><meta name="guid" content="T_log4net_Appender_ColoredConsoleAppender" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><link type="text/css" rel="stylesheet" href="./../styles/highlight.css" /><script type="text/javascript" src="../scripts/highlight.js"><!----></script><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">ColoredConsoleAppender Class</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">
            Appends logging events to the console.
            </div><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Inheritance Hierarchy</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><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">System<span id="ID0EBHNAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBHNAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Object</a><br />  <a href="T_log4net_Appender_AppenderSkeleton.htm" target="">log4net.Appender<span id="ID0EBENAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBENAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>AppenderSkeleton</a><br />    <span class="selflink">log4net.Appender<span id="ID0EBBNAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBNAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>ColoredConsoleAppender</span><br /><p></p><b>Namespace:</b> <a href="N_log4net_Appender.htm" target="">log4net.Appender</a><br /><b>Assembly:</b> <span sdata="assembly">log4net</span> (in log4net.dll) Version: 1.2.14.0 (1.2.14.0)<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div id="snippetGroup_Syntax" class="code"><div id="ID0ECADAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECADAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECADAAAAA_tabimgleft"></div><div id="ID0ECADAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECADAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECADAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECADAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECADAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECADAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECADAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECADAAAAA_tabimgright"></div></div><div id="ID0ECADAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECADAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECADAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECADAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECADAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECADAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECADAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECADAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">ColoredConsoleAppender</span> : <span class="identifier">AppenderSkeleton</span></pre></div><div id="ID0ECADAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public class ColoredConsoleAppender : AppenderSkeleton</pre></div><div id="ID0ECADAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Class</span> <span class="identifier">ColoredConsoleAppender</span> 
	<span class="keyword">Inherits</span> <span class="identifier">AppenderSkeleton</span></pre></div><div id="ID0ECADAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Class ColoredConsoleAppender 
	Inherits AppenderSkeleton</pre></div><div id="ID0ECADAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">public</span> <span class="keyword">ref class</span> <span class="identifier">ColoredConsoleAppender</span> : <span class="keyword">public</span> <span class="identifier">AppenderSkeleton</span></pre></div><div id="ID0ECADAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public ref class ColoredConsoleAppender : public AppenderSkeleton</pre></div><div id="ID0ECADAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECADAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECADAAAAA');</script></div><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><p>
            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.
            </p><p>
            By default, all output is written to the console's standard output stream.
            The <a href="P_log4net_Appender_ColoredConsoleAppender_Target.htm" target="">Target</a> property can be set to direct the output to the
            error stream.
            </p><p>
            NOTE: This appender writes directly to the application's attached console
            not to the <span class="code">System.Console.Out</span> or <span class="code">System.Console.Error</span><span class="code">TextWriter</span>.
            The <span class="code">System.Console.Out</span> and <span class="code">System.Console.Error</span> 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 <a href="T_log4net_Appender_ConsoleAppender.htm" target="">ConsoleAppender</a>
            must be used.
            </p><p>
            When configuring the colored console appender, mapping should be
            specified to map a logging level to a color. For example:
            </p><div id="ID0EBCAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0EBCAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeft" id="ID0EBCAAAAA_tabimgleft"></div><div id="ID0EBCAAAAA_tab1" class="OH_CodeSnippetContainerTabSolo" EnableCopyCode="true"><a xmlns="">XML</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0EBCAAAAA_tabimgright"></div></div><div id="ID0EBCAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0EBCAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0EBCAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0EBCAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0EBCAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0EBCAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0EBCAAAAA','4')" title="Print">Print</a></div></div><div id="ID0EBCAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">mapping</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">level</span> <span class="highlight-xml-attribute-name">value</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"ERROR"</span> <span class="highlight-xml-bracket">/&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">foreColor</span> <span class="highlight-xml-attribute-name">value</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"White"</span> <span class="highlight-xml-bracket">/&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">backColor</span> <span class="highlight-xml-attribute-name">value</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"Red, HighIntensity"</span> <span class="highlight-xml-bracket">/&gt;</span><span class="highlight-xml-bracket">&lt;/</span><span class="highlight-xml-tag">mapping</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">mapping</span><span class="highlight-xml-bracket">&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">level</span> <span class="highlight-xml-attribute-name">value</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"DEBUG"</span> <span class="highlight-xml-bracket">/&gt;</span><span class="highlight-xml-bracket">&lt;</span><span class="highlight-xml-tag">backColor</span> <span class="highlight-xml-attribute-name">value</span><span class="highlight-xml-attribute-equal">=</span><span class="highlight-xml-attribute-value">"Green"</span> <span class="highlight-xml-bracket">/&gt;</span><span class="highlight-xml-bracket">&lt;/</span><span class="highlight-xml-tag">mapping</span><span class="highlight-xml-bracket">&gt;</span></pre></div><div id="ID0EBCAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>&lt;mapping&gt;&lt;level value="ERROR" /&gt;&lt;foreColor value="White" /&gt;&lt;backColor value="Red, HighIntensity" /&gt;&lt;/mapping&gt;&lt;mapping&gt;&lt;level value="DEBUG" /&gt;&lt;backColor value="Green" /&gt;&lt;/mapping&gt;</pre></div></div></div><script>addSpecificTextLanguageTagSet('ID0EBCAAAAA');</script><p>
            The Level is the standard log4net logging level and ForeColor and BackColor can be any
            combination of the following values:
            <ul><li>Blue<br /></li><li>Green<br /></li><li>Red<br /></li><li>White<br /></li><li>Yellow<br /></li><li>Purple<br /></li><li>Cyan<br /></li><li>HighIntensity<br /></li></ul></p><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="AllMembers_T_log4net_Appender_ColoredConsoleAppender.htm" target="">ColoredConsoleAppender Members</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+ColoredConsoleAppender+Class+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>