[prev in list] [next in list] [prev in thread] [next in thread]
List: log4net-dev
Subject: cvs commit: logging-log4net/src/Util PatternString.cs
From: nicko () apache ! org
Date: 2005-01-31 2:32:10
Message-ID: 20050131023210.51500.qmail () minotaur ! apache ! org
[Download RAW message or body]
nicko 2005/01/30 18:32:10
Modified: src/Layout PatternLayout.cs
src/Util PatternString.cs
Log:
Updated doc comments
Revision Changes Path
1.20 +7 -7 logging-log4net/src/Layout/PatternLayout.cs
Index: PatternLayout.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Layout/PatternLayout.cs,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- PatternLayout.cs 17 Jan 2005 20:18:45 -0000 1.19
+++ PatternLayout.cs 31 Jan 2005 02:32:10 -0000 1.20
@@ -78,7 +78,7 @@
/// justified to a width of five characters.
/// </para>
/// <para>
- /// The recognized conversion characters are :
+ /// The recognized conversion characters are:
/// </para>
/// <list type="table">
/// <listheader>
@@ -117,7 +117,7 @@
/// <description>
/// <para>
/// Used to output the date of the logging event in the local time zone.
- /// To output the date in universal time use the <c>%utcDate</c> pattern.
+ /// To output the date in universal time use the <c>%utcdate</c> 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
@@ -398,7 +398,7 @@
/// properties are shared by all the threads in the AppDomain.
/// </description>
/// </item>
- /// </list>
+ /// </list>
///
/// </description>
/// </item>
@@ -475,14 +475,14 @@
/// </description>
/// </item>
/// <item>
- /// <term>utcDate</term>
+ /// <term>utcdate</term>
/// <description>
/// <para>
/// 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
+ /// 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 (<see cref="log4net.DateFormatter.Iso8601DateFormatter"/>).
/// </para>
@@ -497,7 +497,7 @@
/// <see cref="log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
/// <see cref="log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
/// <see cref="log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
- /// <b>%utcDate{ISO8601}</b> or <b>%utcDate{ABSOLUTE}</b>.
+ /// <b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
/// </para>
/// <para>
/// These dedicated date formatters perform significantly
1.11 +209 -5 logging-log4net/src/Util/PatternString.cs
Index: PatternString.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Util/PatternString.cs,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- PatternString.cs 17 Jan 2005 20:18:47 -0000 1.10
+++ PatternString.cs 31 Jan 2005 02:32:10 -0000 1.11
@@ -31,13 +31,217 @@
/// This class implements a patterned string.
/// </summary>
/// <remarks>
- /// <para>This string has embedded patterns that are resolved and expanded
- /// when the string is formatted.</para>
- /// <para>This class functions similarly to the <see cref="log4net.Layout.PatternLayout"/>
+ /// <para>
+ /// This string has embedded patterns that are resolved and expanded
+ /// when the string is formatted.
+ /// </para>
+ /// <para>
+ /// This class functions similarly to the <see cref="log4net.Layout.PatternLayout"/>
/// in that it accepts a pattern and renders it to a string. Unlike the
/// <see cref="log4net.Layout.PatternLayout"/> however the <c>PatternString</c>
/// does does not render properties of a specific <see cref="LoggingEvent"/> but
- /// of the process in general.</para>
+ /// of the process in general.
+ /// </para>
+ /// <para>
+ /// The recognized conversion characters are:
+ /// </para>
+ /// <list type="table">
+ /// <listheader>
+ /// <term>Conversion Character</term>
+ /// <description>Effect</description>
+ /// </listheader>
+ /// <item>
+ /// <term>appdomain</term>
+ /// <description>
+ /// <para>
+ /// Used to output the friendly name of the current AppDomain.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>date</term>
+ /// <description>
+ /// <para>
+ /// Used to output the date of the logging event in the local time zone.
+ /// To output the date in universal time use the <c>%utcdate</c> 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 (<see cref="log4net.DateFormatter.Iso8601DateFormatter"/>).
+ /// </para>
+ /// <para>
+ /// The date format specifier admits the same syntax as the
+ /// time pattern string of the <see cref="DateTime.ToString"/>.
+ /// </para>
+ /// <para>
+ /// 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
+ /// <see cref="log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
+ /// <see cref="log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
+ /// <see cref="log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
+ /// <b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
+ /// </para>
+ /// <para>
+ /// These dedicated date formatters perform significantly
+ /// better than <see cref="DateTime.ToString(string)"/>.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>env</term>
+ /// <description>
+ /// <para>
+ /// 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 <c>COMPUTERNAME</c> environment variable.
+ /// </para>
+ /// <para>
+ /// The <c>env</c> pattern is not supported on the .NET Compact Framework.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>identity</term>
+ /// <description>
+ /// <para>
+ /// Used to output the user name for the currently active user
+ /// (Principal.Identity.Name).
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>newline</term>
+ /// <description>
+ /// <para>
+ /// Outputs the platform dependent line separator character or
+ /// characters.
+ /// </para>
+ /// <para>
+ /// This conversion character 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.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>processid</term>
+ /// <description>
+ /// <para>
+ /// Used to output the system process ID for the current process.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>property</term>
+ /// <description>
+ /// <para>
+ /// 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 <c>log4net:HostName</c> property is set to the name of machine on
+ /// which the event was originally logged.
+ /// </para>
+ /// <para>
+ /// If no key is specified, e.g. <b>%property</b> then all the keys and their
+ /// values are printed in a comma separated list.
+ /// </para>
+ /// <para>
+ /// 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.
+ /// </para>
+ /// <list type="definition">
+ /// <item>
+ /// <term>the thread properties</term>
+ /// <description>
+ /// The <see cref="ThreadContext.Properties"/> that are set on the current
+ /// thread. These properties are shared by all events logged on this thread.
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>the global properties</term>
+ /// <description>
+ /// The <see cref="GlobalContext.Properties"/> that are set globally. These
+ /// properties are shared by all the threads in the AppDomain.
+ /// </description>
+ /// </item>
+ /// </list>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>random</term>
+ /// <description>
+ /// <para>
+ /// 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.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>username</term>
+ /// <description>
+ /// <para>
+ /// Used to output the WindowsIdentity for the currently
+ /// active user.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>utcdate</term>
+ /// <description>
+ /// <para>
+ /// 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 (<see cref="log4net.DateFormatter.Iso8601DateFormatter"/>).
+ /// </para>
+ /// <para>
+ /// The date format specifier admits the same syntax as the
+ /// time pattern string of the <see cref="DateTime.ToString"/>.
+ /// </para>
+ /// <para>
+ /// 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
+ /// <see cref="log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
+ /// <see cref="log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
+ /// <see cref="log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
+ /// <b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
+ /// </para>
+ /// <para>
+ /// These dedicated date formatters perform significantly
+ /// better than <see cref="DateTime.ToString(string)"/>.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// <item>
+ /// <term>%</term>
+ /// <description>
+ /// <para>
+ /// The sequence %% outputs a single percent sign.
+ /// </para>
+ /// </description>
+ /// </item>
+ /// </list>
+ /// <para>
+ /// Additional pattern converters may be registered with a specific <see cref="PatternString"/>
+ /// instance using the <see cref="AddConverter"/> methods.
+ /// </para>
+ /// <para>
+ /// See the <see cref="log4net.Layout.PatternLayout"/> for details on the
+ /// <i>format modifiers</i> supported by the patterns.
+ /// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
public class PatternString : IOptionHandler
@@ -88,9 +292,9 @@
s_globalRulesRegistry.Add("literal", typeof(LiteralPatternConverter));
s_globalRulesRegistry.Add("newline", typeof(NewLinePatternConverter));
s_globalRulesRegistry.Add("processid", typeof(ProcessIdPatternConverter));
+ s_globalRulesRegistry.Add("property", typeof(PropertyPatternConverter));
s_globalRulesRegistry.Add("random", typeof(RandomStringPatternConverter));
s_globalRulesRegistry.Add("username", typeof(UserNamePatternConverter));
- s_globalRulesRegistry.Add("property", typeof(PropertyPatternConverter));
s_globalRulesRegistry.Add("utcdate", typeof(UtcDatePatternConverter));
s_globalRulesRegistry.Add("utcDate", typeof(UtcDatePatternConverter));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic