blob: 6d4bb76463279f72913f586430f6d614e2085704 [file] [log] [blame]
<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>PatternString Class</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="PatternString class" /><meta name="System.Keywords" content="log4net.Util.PatternString class" /><meta name="System.Keywords" content="PatternString class, about PatternString class" /><meta name="Microsoft.Help.F1" content="log4net.Util.PatternString" /><meta name="Microsoft.Help.Id" content="T:log4net.Util.PatternString" /><meta name="Description" content="This class implements a patterned string." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.Util" /><meta name="file" content="T_log4net_Util_PatternString" /><meta name="guid" content="T_log4net_Util_PatternString" /></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">PatternString 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">
This class implements a patterned string.
</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><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">System<span id="LSTC23CAD64_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC23CAD64_0?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Object</a><br />  <span class="selflink">log4net.Util<span id="LSTC23CAD64_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC23CAD64_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>PatternString</span><br /><p> </p><strong>Namespace:</strong> <a href="N_log4net_Util.htm">log4net.Util</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="keyword">public</span> <span class="keyword">class</span> <span class="identifier">PatternString</span> : <span class="identifier">IOptionHandler</span></pre></div><div id="ID0EDCA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">Public</span> <span class="keyword">Class</span> <span class="identifier">PatternString</span>
<span class="keyword">Implements</span> <span class="identifier">IOptionHandler</span></pre></div><div id="ID0EDCA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">public</span> <span class="keyword">ref class</span> <span class="identifier">PatternString</span> : <span class="identifier">IOptionHandler</span></pre></div><div id="ID0EDCA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">type</span> <span class="identifier">PatternString</span> =
<span class="keyword">class</span>
<span class="keyword">interface</span> <span class="identifier">IOptionHandler</span>
<span class="keyword">end</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><p>The <span class="selflink">PatternString</span> type exposes the following members.</p><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Constructors</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>Name</th><th>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_Util_PatternString__ctor.htm">PatternString<span id="LSTC23CAD64_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC23CAD64_2?cs=()|vb=|cpp=()|nu=()|fs=()");</script></a></td><td><div class="summary">
Default constructor
</div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Util_PatternString__ctor_1.htm">PatternString(String)</a></td><td><div class="summary">
Constructs a PatternString
</div></td></tr></table><a href="#mainBody">Top</a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Properties</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>Name</th><th>Description</th></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Util_PatternString_ConversionPattern.htm">ConversionPattern</a></td><td><div class="summary">
Gets or sets the pattern formatting string
</div></td></tr></table><a href="#mainBody">Top</a><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>Name</th><th>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_Util_PatternString_ActivateOptions.htm">ActivateOptions</a></td><td><div class="summary">
Initialize object options
</div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Util_PatternString_AddConverter.htm">AddConverter(ConverterInfo)</a></td><td><div class="summary">
Add a converter to this PatternString
</div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Util_PatternString_AddConverter_1.htm">AddConverter(String, Type)</a></td><td><div class="summary">
Add a converter to this PatternString
</div></td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/bsc2ak47" target="_blank">Equals</a></td><td><div class="summary">
Determines whether the specified <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is equal to the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
</div> (Inherited from <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="http://msdn2.microsoft.com/en-us/library/4k87zsw7" target="_blank">Finalize</a></td><td><div class="summary">
Allows an <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> to attempt to free resources and perform other cleanup operations before the <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is reclaimed by garbage collection.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Util_PatternString_Format.htm">Format<span id="LSTC23CAD64_3"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC23CAD64_3?cs=()|vb=|cpp=()|nu=()|fs=()");</script></a></td><td><div class="summary">
Format the pattern as a string
</div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Util_PatternString_Format_1.htm">Format(TextWriter)</a></td><td><div class="summary">
Produces a formatted string as specified by the conversion pattern.
</div></td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><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 <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><a href="http://msdn2.microsoft.com/en-us/library/dfwy45w9" target="_blank">GetType</a></td><td><div class="summary">
Gets the <a href="http://msdn2.microsoft.com/en-us/library/42892f65" target="_blank">Type</a> of the current instance.
</div> (Inherited from <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="http://msdn2.microsoft.com/en-us/library/57ctke0a" target="_blank">MemberwiseClone</a></td><td><div class="summary">
Creates a shallow copy of the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
</div> (Inherited from <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><a href="http://msdn2.microsoft.com/en-us/library/7bxwbwt2" target="_blank">ToString</a></td><td><div class="summary">
Returns a <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a> that represents the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
</div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr></table><a href="#mainBody">Top</a><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>
This string has embedded patterns that are resolved and expanded
when the string is formatted.
</p><p>
This class functions similarly to the <a href="T_log4net_Layout_PatternLayout.htm">PatternLayout</a>
in that it accepts a pattern and renders it to a string. Unlike the
<a href="T_log4net_Layout_PatternLayout.htm">PatternLayout</a> however the <span class="code">PatternString</span>
does not render the properties of a specific <a href="T_log4net_Core_LoggingEvent.htm">LoggingEvent</a> but
of the process in general.
</p><p>
The recognized conversion pattern names are:
</p><div class="tableSection"><table><tr><th>Conversion Pattern Name</th><th>Effect</th></tr><tr><td>appdomain</td><td><p>
Used to output the friendly name of the current AppDomain.
</p></td></tr><tr><td>appsetting</td><td><p>
Used to output the value of a specific appSetting key in the application
configuration file.
</p></td></tr><tr><td>date</td><td><p>
Used to output the current date and time in the local time zone.
To output the date in universal time use the <span class="code">%utcdate</span> 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 (<a href="T_log4net_DateFormatter_Iso8601DateFormatter.htm">Iso8601DateFormatter</a>).
</p><p>
The date format specifier admits the same syntax as the
time pattern string of the <span class="nolink">ToString(string)</span>.
</p><p>
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
<a href="T_log4net_DateFormatter_AbsoluteTimeDateFormatter.htm">AbsoluteTimeDateFormatter</a>,
<a href="T_log4net_DateFormatter_DateTimeDateFormatter.htm">DateTimeDateFormatter</a> and respectively
<a href="T_log4net_DateFormatter_Iso8601DateFormatter.htm">Iso8601DateFormatter</a>. For example,
<b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
</p><p>
These dedicated date formatters perform significantly
better than <span class="nolink">ToString(string)</span>.
</p></td></tr><tr><td>env</td><td><p>
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 <span class="code">COMPUTERNAME</span> environment variable.
</p><p>
The <span class="code">env</span> pattern is not supported on the .NET Compact Framework.
</p></td></tr><tr><td>identity</td><td><p>
Used to output the user name for the currently active user
(Principal.Identity.Name).
</p></td></tr><tr><td>newline</td><td><p>
Outputs the platform dependent line separator character or
characters.
</p><p>
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.
</p></td></tr><tr><td>processid</td><td><p>
Used to output the system process ID for the current process.
</p></td></tr><tr><td>property</td><td><p>
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 <span class="code">log4net:HostName</span> property is set to the name of machine on
which the event was originally logged.
</p><p>
If no key is specified, e.g. <b>%property</b> then all the keys and their
values are printed in a comma separated list.
</p><p>
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.
</p><dl class="authored"><dt>the thread properties</dt><dd>
The <a href="P_log4net_ThreadContext_Properties.htm">Properties</a> that are set on the current
thread. These properties are shared by all events logged on this thread.
</dd><dt>the global properties</dt><dd>
The <a href="P_log4net_GlobalContext_Properties.htm">Properties</a> that are set globally. These
properties are shared by all the threads in the AppDomain.
</dd></dl></td></tr><tr><td>random</td><td><p>
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.
</p></td></tr><tr><td>username</td><td><p>
Used to output the WindowsIdentity for the currently
active user.
</p></td></tr><tr><td>utcdate</td><td><p>
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 (<a href="T_log4net_DateFormatter_Iso8601DateFormatter.htm">Iso8601DateFormatter</a>).
</p><p>
The date format specifier admits the same syntax as the
time pattern string of the <span class="nolink">ToString(string)</span>.
</p><p>
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
<a href="T_log4net_DateFormatter_AbsoluteTimeDateFormatter.htm">AbsoluteTimeDateFormatter</a>,
<a href="T_log4net_DateFormatter_DateTimeDateFormatter.htm">DateTimeDateFormatter</a> and respectively
<a href="T_log4net_DateFormatter_Iso8601DateFormatter.htm">Iso8601DateFormatter</a>. For example,
<b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
</p><p>
These dedicated date formatters perform significantly
better than <span class="nolink">ToString(string)</span>.
</p></td></tr><tr><td>%</td><td><p>
The sequence %% outputs a single percent sign.
</p></td></tr></table></div><p>
Additional pattern converters may be registered with a specific <span class="selflink">PatternString</span>
instance using <span class="nolink">[M:AddConverter(ConverterInfo)]</span> or
<span class="nolink">[M:AddConverter(string, Type)]</span>.
</p><p>
See the <a href="T_log4net_Layout_PatternLayout.htm">PatternLayout</a> for details on the
<i>format modifiers</i> supported by the patterns.
</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_Util.htm">log4net.Util 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>