﻿<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { }.OH_footer { }</style><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FixFlags Enumeration</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="FixFlags enumeration" /><meta name="System.Keywords" content="log4net.Core.FixFlags enumeration" /><meta name="System.Keywords" content="Mdc enumeration member" /><meta name="System.Keywords" content="Ndc enumeration member" /><meta name="System.Keywords" content="Message enumeration member" /><meta name="System.Keywords" content="ThreadName enumeration member" /><meta name="System.Keywords" content="LocationInfo enumeration member" /><meta name="System.Keywords" content="UserName enumeration member" /><meta name="System.Keywords" content="Domain enumeration member" /><meta name="System.Keywords" content="Identity enumeration member" /><meta name="System.Keywords" content="Exception enumeration member" /><meta name="System.Keywords" content="Properties enumeration member" /><meta name="System.Keywords" content="None enumeration member" /><meta name="System.Keywords" content="All enumeration member" /><meta name="System.Keywords" content="Partial enumeration member" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Mdc" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Ndc" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Message" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.ThreadName" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.LocationInfo" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.UserName" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Domain" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Identity" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Exception" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Properties" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.None" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.All" /><meta name="Microsoft.Help.F1" content="log4net.Core.FixFlags.Partial" /><meta name="Microsoft.Help.Id" content="T:log4net.Core.FixFlags" /><meta name="Description" content="Flags passed to the property" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.Core" /><meta name="file" content="T_log4net_Core_FixFlags" /><meta name="guid" content="T_log4net_Core_FixFlags" /></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">FixFlags Enumeration</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">
            Flags passed to the <a href="P_log4net_Core_LoggingEvent_Fix.htm">Fix</a> property
            </div><p> </p><strong>Namespace:</strong> <a href="N_log4net_Core.htm">log4net.Core</a><br /><strong>Assembly:</strong> log4net (in log4net.dll) Version: 2.0.8.0-.NET 4.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 class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs"><div class="OH_CodeSnippetContainerTabLeft" id="ID0EDCA_tabimgleft"> </div><div id="ID0EDCA_tab1" class="OH_CodeSnippetContainerTabFirst"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cs','1','4');return false;">C#</a></div><div id="ID0EDCA_tab2" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','vb','2','4');return false;">VB</a></div><div id="ID0EDCA_tab3" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cpp','3','4');return false;">C++</a></div><div id="ID0EDCA_tab4" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','fs','4','4');return false;">F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0EDCA_tabimgright"> </div></div><div class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0EDCA_copyCode" href="#" onclick="javascript:CopyToClipboard('ID0EDCA');return false;" title="Copy">Copy</a></div></div><div id="ID0EDCA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre xml:space="preserve">[<span class="identifier">FlagsAttribute</span>]
<span class="keyword">public</span> <span class="keyword">enum</span> <span class="identifier">FixFlags</span></pre></div><div id="ID0EDCA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve">&lt;<span class="identifier">FlagsAttribute</span>&gt;
<span class="keyword">Public</span> <span class="keyword">Enumeration</span> <span class="identifier">FixFlags</span></pre></div><div id="ID0EDCA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve">[<span class="identifier">FlagsAttribute</span>]
<span class="keyword">public</span> <span class="keyword">enum class</span> <span class="identifier">FixFlags</span></pre></div><div id="ID0EDCA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve">[&lt;<span class="identifier">FlagsAttribute</span>&gt;]
<span class="keyword">type</span> <span class="identifier">FixFlags</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><div id="enumerationSection"><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Members</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>Member name</th><th>Value</th><th>Description</th></tr><tr><td /><td target="F:log4net.Core.FixFlags.Mdc"><span class="selflink">Mdc</span></td><td>1</td><td> <strong>Obsolete. </strong>
            Fix the MDC
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Ndc"><span class="selflink">Ndc</span></td><td>2</td><td>
            Fix the NDC
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Message"><span class="selflink">Message</span></td><td>4</td><td>
            Fix the rendered message
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.ThreadName"><span class="selflink">ThreadName</span></td><td>8</td><td>
            Fix the thread name
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.LocationInfo"><span class="selflink">LocationInfo</span></td><td>16</td><td>
            Fix the callers location information
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.UserName"><span class="selflink">UserName</span></td><td>32</td><td>
            Fix the callers windows user name
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Domain"><span class="selflink">Domain</span></td><td>64</td><td>
            Fix the domain friendly name
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Identity"><span class="selflink">Identity</span></td><td>128</td><td>
            Fix the callers principal name
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Exception"><span class="selflink">Exception</span></td><td>256</td><td>
            Fix the exception text
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Properties"><span class="selflink">Properties</span></td><td>512</td><td>
            Fix the event properties. Active properties must implement <a href="T_log4net_Core_IFixingRequired.htm">IFixingRequired</a> in order to be eligible for fixing.
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.None"><span class="selflink">None</span></td><td>0</td><td>
            No fields fixed
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.All"><span class="selflink">All</span></td><td>268435455</td><td>
            All fields fixed
            </td></tr><tr><td /><td target="F:log4net.Core.FixFlags.Partial"><span class="selflink">Partial</span></td><td>844</td><td>
            Partial fields fixed
            </td></tr></table></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>
            Flags passed to the <a href="P_log4net_Core_LoggingEvent_Fix.htm">Fix</a> property
            </p><div class="OH_CollapsibleAreaRegion" id="seeAlsoSection"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="N_log4net_Core.htm">log4net.Core Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer">Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.<p><a href="http://logging.apache.org/log4net/" target="_blank">Copyright 2004-2017 The Apache Software Foundation</a></p><div class="OH_feedbacklink">Send comments on this topic to
        <a id="HT_MailLink" href="mailto:http%3A%2F%2Flogging.apache.org%2Flog4net%2Fmail-lists.html?Subject=Apache log4net™ SDK Documentation">http://logging.apache.org/log4net/mail-lists.html</a></div><script type="text/javascript">
        var HT_mailLink = document.getElementById("HT_MailLink");
        var HT_mailLinkText = HT_mailLink.innerHTML;
        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.");
        HT_mailLink.innerHTML = HT_mailLinkText;
        </script> </div></body></html>