You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by ni...@apache.org on 2007/02/26 03:10:29 UTC
svn commit: r511694 [23/24] - in /logging/log4net/trunk: ./ doc/
doc/release/ doc/release/howto/ doc/release/manual/ xdocs/ xdocs/lib/
xdocs/src/ xdocs/src/release/ xdocs/src/release/howto/
xdocs/src/release/manual/ xdocs/src/stylesheets/
Modified: logging/log4net/trunk/xdocs/src/release/release-notes.xml
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/xdocs/src/release/release-notes.xml?view=diff&rev=511694&r1=511693&r2=511694
==============================================================================
--- logging/log4net/trunk/xdocs/src/release/release-notes.xml (original)
+++ logging/log4net/trunk/xdocs/src/release/release-notes.xml Sun Feb 25 18:10:21 2007
@@ -17,177 +17,177 @@
-->
<document>
- <properties>
- <author email="nicko at apache dot org">Nicko Cadell</author>
- <title>log4net Release Notes</title>
- </properties>
+ <properties>
+ <author email="nicko at apache dot org">Nicko Cadell</author>
+ <title>Apache log4net: Release Notes</title>
+ </properties>
- <meta name="keywords" content="log4net release notes, log4net" />
+ <meta name="keywords" content="log4net release notes, log4net" />
- <body>
- <section id="main" name="log4net Release Notes">
+ <body>
+ <section id="main" name="log4net Release Notes">
- <sectionMenu name="Contents" />
-
- <section id="1.2.10" name="1.2.10">
+ <sectionMenu name="Contents" />
+
+ <section id="1.2.10" name="1.2.10">
- <section id="1.2.10-bug" name="Bug Fixes">
- <ul>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-21'>LOG4NET-21</a>] - RemotingAppender fails once NDC becomes empty</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-22'>LOG4NET-22</a>] - XmlLayout allows output of invalid control characters</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-23'>LOG4NET-23</a>] - example-apps.html links are off by one folder level</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-25'>LOG4NET-25</a>] - RollingFileAppender can fail if RollOverIfDateBoundaryCrossing required</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-28'>LOG4NET-28</a>] - AdoNetAppender does not support inserting NULL into columns</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-29'>LOG4NET-29</a>] - LevelMatchFilter should return Neutral when no match is found</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-32'>LOG4NET-32</a>] - AdoNetAppender losing first entry</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-35'>LOG4NET-35</a>] - Exception rendering ThreadContextStack if null value pushed into stack</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-36'>LOG4NET-36</a>] - System.Diagnostics.Trace may throw exception if AppDomain does not have config file</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-40'>LOG4NET-40</a>] - RollingFileAppender does not limit files to MaxSizeRollBackups when CountDirection is 1</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-41'>LOG4NET-41</a>] - RollingFileAppender roll over date fail</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-42'>LOG4NET-42</a>] - Serialised LoggingEvent does not preserve the Fix flags</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-43'>LOG4NET-43</a>] - Specifying an empty string as a property in the config file results in an error</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-44'>LOG4NET-44</a>] - XmlLayout emits all properties under a node named global-properties, rather than just properties.</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-49'>LOG4NET-49</a>] - CountingQuietTextWriter does not count strings written with WriteLine</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-50'>LOG4NET-50</a>] - Process.StartTime hangs on some systems</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-60'>LOG4NET-60</a>] - Bug in RollingFileAppender.cs causing failure to timely roll files on monthly interval</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-63'>LOG4NET-63</a>] - 1.2.9.0 Documentation typos</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-65'>LOG4NET-65</a>] - Unhandled SecurityException exception for FileIOPermission while loading configuration file</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-67'>LOG4NET-67</a>] - CVE-2006-0743 Security vulnerability in LocalSyslogAppender</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-69'>LOG4NET-69</a>] - Exception thrown when *Format methods are given a malformed format string</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-70'>LOG4NET-70</a>] - CoreDll.dll referenced with different capitalisation</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-73'>LOG4NET-73</a>] - ADONetAppender.ActivateOptions() leaks database connection when called multiple times</li>
- </ul>
- </section>
-
- <section id="1.2.10-new" name="New Features">
- <ul>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-11'>LOG4NET-11</a>] - Add Flush command to API</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-24'>LOG4NET-24</a>] - Programmatic flush of BufferingAppenderSkeleton buffer</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-37'>LOG4NET-37</a>] - Allow the RepositorySelector type to be specified using the AppSettings config</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-46'>LOG4NET-46</a>] - Support appenders that can output multiple events efficiently</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-51'>LOG4NET-51</a>] - WmiAppender</li>
- </ul>
- </section>
-
- <section id="1.2.10-enh" name="Improvements">
- <ul>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-3'>LOG4NET-3</a>] - Support per event patterns in FileAppender File name</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-13'>LOG4NET-13</a>] - Allow SMTPAppender to have replaceable parameters in Subject</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-15'>LOG4NET-15</a>] - Email high "importance" priority setting with SmtpAppender</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-17'>LOG4NET-17</a>] - Line-wrapping Appender Layouts</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-33'>LOG4NET-33</a>] - Ability to use global property to point to log4net configuration file</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-34'>LOG4NET-34</a>] - Allow xml config values to be set via XmlNodeType.CDATA or XmlNodeType.Text rather than just value="foo"</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-45'>LOG4NET-45</a>] - PluginAttribute does not allow plugin type to be specified as a Type, only as a string</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-52'>LOG4NET-52</a>] - Allow XML configurator to set properties of type Object</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-53'>LOG4NET-53</a>] - Allow repository properties to be set in the config file</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-56'>LOG4NET-56</a>] - Support rendering IEnumerator objects as well as ICollections</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-58'>LOG4NET-58</a>] - Support clean build on .NET 2.0</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-72'>LOG4NET-72</a>] - Performance of ILog.xxxFormat methods</li>
- <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-74'>LOG4NET-74</a>] - Change MemoryAppender member variables to protected</li>
- </ul>
- </section>
-
- </section>
+ <section id="1.2.10-bug" name="Bug Fixes">
+ <ul>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-21'>LOG4NET-21</a>] - RemotingAppender fails once NDC becomes empty</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-22'>LOG4NET-22</a>] - XmlLayout allows output of invalid control characters</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-23'>LOG4NET-23</a>] - example-apps.html links are off by one folder level</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-25'>LOG4NET-25</a>] - RollingFileAppender can fail if RollOverIfDateBoundaryCrossing required</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-28'>LOG4NET-28</a>] - AdoNetAppender does not support inserting NULL into columns</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-29'>LOG4NET-29</a>] - LevelMatchFilter should return Neutral when no match is found</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-32'>LOG4NET-32</a>] - AdoNetAppender losing first entry</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-35'>LOG4NET-35</a>] - Exception rendering ThreadContextStack if null value pushed into stack</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-36'>LOG4NET-36</a>] - System.Diagnostics.Trace may throw exception if AppDomain does not have config file</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-40'>LOG4NET-40</a>] - RollingFileAppender does not limit files to MaxSizeRollBackups when CountDirection is 1</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-41'>LOG4NET-41</a>] - RollingFileAppender roll over date fail</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-42'>LOG4NET-42</a>] - Serialised LoggingEvent does not preserve the Fix flags</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-43'>LOG4NET-43</a>] - Specifying an empty string as a property in the config file results in an error</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-44'>LOG4NET-44</a>] - XmlLayout emits all properties under a node named global-properties, rather than just properties.</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-49'>LOG4NET-49</a>] - CountingQuietTextWriter does not count strings written with WriteLine</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-50'>LOG4NET-50</a>] - Process.StartTime hangs on some systems</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-60'>LOG4NET-60</a>] - Bug in RollingFileAppender.cs causing failure to timely roll files on monthly interval</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-63'>LOG4NET-63</a>] - 1.2.9.0 Documentation typos</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-65'>LOG4NET-65</a>] - Unhandled SecurityException exception for FileIOPermission while loading configuration file</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-67'>LOG4NET-67</a>] - CVE-2006-0743 Security vulnerability in LocalSyslogAppender</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-69'>LOG4NET-69</a>] - Exception thrown when *Format methods are given a malformed format string</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-70'>LOG4NET-70</a>] - CoreDll.dll referenced with different capitalisation</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-73'>LOG4NET-73</a>] - ADONetAppender.ActivateOptions() leaks database connection when called multiple times</li>
+ </ul>
+ </section>
+
+ <section id="1.2.10-new" name="New Features">
+ <ul>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-11'>LOG4NET-11</a>] - Add Flush command to API</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-24'>LOG4NET-24</a>] - Programmatic flush of BufferingAppenderSkeleton buffer</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-37'>LOG4NET-37</a>] - Allow the RepositorySelector type to be specified using the AppSettings config</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-46'>LOG4NET-46</a>] - Support appenders that can output multiple events efficiently</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-51'>LOG4NET-51</a>] - WmiAppender</li>
+ </ul>
+ </section>
+
+ <section id="1.2.10-enh" name="Improvements">
+ <ul>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-3'>LOG4NET-3</a>] - Support per event patterns in FileAppender File name</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-13'>LOG4NET-13</a>] - Allow SMTPAppender to have replaceable parameters in Subject</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-15'>LOG4NET-15</a>] - Email high "importance" priority setting with SmtpAppender</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-17'>LOG4NET-17</a>] - Line-wrapping Appender Layouts</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-33'>LOG4NET-33</a>] - Ability to use global property to point to log4net configuration file</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-34'>LOG4NET-34</a>] - Allow xml config values to be set via XmlNodeType.CDATA or XmlNodeType.Text rather than just value="foo"</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-45'>LOG4NET-45</a>] - PluginAttribute does not allow plugin type to be specified as a Type, only as a string</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-52'>LOG4NET-52</a>] - Allow XML configurator to set properties of type Object</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-53'>LOG4NET-53</a>] - Allow repository properties to be set in the config file</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-56'>LOG4NET-56</a>] - Support rendering IEnumerator objects as well as ICollections</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-58'>LOG4NET-58</a>] - Support clean build on .NET 2.0</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-72'>LOG4NET-72</a>] - Performance of ILog.xxxFormat methods</li>
+ <li>[<a href='http://issues.apache.org/jira/browse/LOG4NET-74'>LOG4NET-74</a>] - Change MemoryAppender member variables to protected</li>
+ </ul>
+ </section>
- <section id="1.2.9" name="1.2.9 Beta">
-
- <section id="1.2.9-breaking" name="Breaking Changes">
- <ul>
- <li>
- <h3>Renamed namespaces</h3>
- <p>
- Renamed namespace <span class="code">log4net.spi</span> to <span class="code">log4net.Core</span>.
- Renamed namespace <span class="code">log4net.helpers</span> to <span class="code">log4net.Util</span>.
- </p>
- </li>
- <li>
- <h3>Renamed config classes and attributes</h3>
- <p>
- In the <span class="code">log4net.Config</span> namespace the <span class="code">DOMConfigurator</span>,
- <span class="code">DOMConfiguratorAttribute</span>, <span class="code">DomainAttribute</span>,
- and <span class="code">AliasDomainAttribute</span> have been marked as obsolete. These types are
- still available and functional in this release.
- </p>
- <p>
- The <span class="code">XmlConfigurator</span> and <span class="code">XmlConfiguratorAttribute</span>
- types replace <span class="code">DOMConfigurator</span> and
- <span class="code">DOMConfiguratorAttribute</span>. The <span class="code">RepositoryAttribute</span>
- and <span class="code">AliasRepositoryAttribute</span> types replace
- <span class="code">DomainAttribute</span> and <span class="code">AliasDomainAttribute</span>.
- </p>
- </li>
- <li>
- <h3>Fixed pascal casing of type names</h3>
- <p>
- Renamed <span class="code">AdoNetAppender</span>, <span class="code">AspNetTraceAppender</span>,
- <span class="code">SmtpAppender</span>, <span class="code">Iso8601DateFormatter</span>,
- <span class="code">MdcFilter</span>, and <span class="code">NdcFilter</span>.
- Note that the config file type resolver is case insensitive so this is only a breaking change
- for code that programmatically creates a type that has been renamed.
- </p>
- </li>
- <li>
- <h3>Layouts changed to stream their output to a <span class="code">TextWriter</span></h3>
- <p>
- Layouts have been changed to format their output to a <span class="code">TextWriter</span>
- rather than return a string. This increases performance and reduces temporary object creation.
- </p>
- </li>
- <li>
- <h3>C style string escapes no longer supported by config parser</h3>
- <p>
- The XML config parser no longer supports decoding C style escape sequences in strings.
- Previously sequences like <span class="code">\n</span> and <span class="code">\\</span>
- where decoded. Instead use the appropriate XML encodings as required.
- </p>
- </li>
- </ul>
- </section>
-
- <section id="1.2.9-new" name="New Features">
- <ul>
- <li>
- <h3>New CLI build</h3>
- <p>
- A new log4net assembly is built that targets all CLI 1.0 compatible runtimes.
- This build is essentially a common subset of the Mono 1.0 and .NET 1.0 builds.
- It is built using the MS .NET 1.0 compiler and libraries but does not use any
- platform specific APIs.
- </p>
- <p>
- This build is only available in release configuration and can be found at
- <span class="code">bin\cli\1.0\release</span>.
- </p>
- </li>
- <li>
- <h3>Logging contexts</h3>
- <p>
- Logging contexts can be used to record contextual data that is relevant to the current
- process. Logging contexts are both an extension of the concepts embodied in the
- <span class="code">MDC</span> and <span class="code">NDC</span> and a replacement for
- them. The <span class="code">MDC</span> and <span class="code">NDC</span> have been
- reimplemented to use the <span class="code">ThreadContext</span> as storage.
- </p>
- <p>
- The logging contexts provide a single unified view that cuts across different
- scopes within an application.
- The contexts are layered in the following order of narrowing scope:
- <span class="code">GlobalContext</span>, <span class="code">ThreadContext</span>,
- <span class="code">LogicalThreadContext</span>, and <span class="code">LoggingEvent</span>.
- Context values specified in a narrower scope hide the matching value in a wider scope.
- </p>
- </li>
- <li>
- <h3><span class="code">PatternLayout</span> customization and long pattern names</h3>
- <p>
- The <span class="code">PatternLayout</span> now supports long pattern names.
- These pattern names are significantly more readable than the single character patterns.
- </p>
- <p>
- The <span class="code">PatternLayout</span> now supports custom patterns. New patterns
- can be defined in the config file:
- </p>
- <div class="syntax"><pre class="code">
+ </section>
+
+ <section id="1.2.9" name="1.2.9 Beta">
+
+ <section id="1.2.9-breaking" name="Breaking Changes">
+ <ul>
+ <li>
+ <h3>Renamed namespaces</h3>
+ <p>
+ Renamed namespace <span class="code">log4net.spi</span> to <span class="code">log4net.Core</span>.
+ Renamed namespace <span class="code">log4net.helpers</span> to <span class="code">log4net.Util</span>.
+ </p>
+ </li>
+ <li>
+ <h3>Renamed config classes and attributes</h3>
+ <p>
+ In the <span class="code">log4net.Config</span> namespace the <span class="code">DOMConfigurator</span>,
+ <span class="code">DOMConfiguratorAttribute</span>, <span class="code">DomainAttribute</span>,
+ and <span class="code">AliasDomainAttribute</span> have been marked as obsolete. These types are
+ still available and functional in this release.
+ </p>
+ <p>
+ The <span class="code">XmlConfigurator</span> and <span class="code">XmlConfiguratorAttribute</span>
+ types replace <span class="code">DOMConfigurator</span> and
+ <span class="code">DOMConfiguratorAttribute</span>. The <span class="code">RepositoryAttribute</span>
+ and <span class="code">AliasRepositoryAttribute</span> types replace
+ <span class="code">DomainAttribute</span> and <span class="code">AliasDomainAttribute</span>.
+ </p>
+ </li>
+ <li>
+ <h3>Fixed pascal casing of type names</h3>
+ <p>
+ Renamed <span class="code">AdoNetAppender</span>, <span class="code">AspNetTraceAppender</span>,
+ <span class="code">SmtpAppender</span>, <span class="code">Iso8601DateFormatter</span>,
+ <span class="code">MdcFilter</span>, and <span class="code">NdcFilter</span>.
+ Note that the config file type resolver is case insensitive so this is only a breaking change
+ for code that programmatically creates a type that has been renamed.
+ </p>
+ </li>
+ <li>
+ <h3>Layouts changed to stream their output to a <span class="code">TextWriter</span></h3>
+ <p>
+ Layouts have been changed to format their output to a <span class="code">TextWriter</span>
+ rather than return a string. This increases performance and reduces temporary object creation.
+ </p>
+ </li>
+ <li>
+ <h3>C style string escapes no longer supported by config parser</h3>
+ <p>
+ The XML config parser no longer supports decoding C style escape sequences in strings.
+ Previously sequences like <span class="code">\n</span> and <span class="code">\\</span>
+ where decoded. Instead use the appropriate XML encodings as required.
+ </p>
+ </li>
+ </ul>
+ </section>
+
+ <section id="1.2.9-new" name="New Features">
+ <ul>
+ <li>
+ <h3>New CLI build</h3>
+ <p>
+ A new log4net assembly is built that targets all CLI 1.0 compatible runtimes.
+ This build is essentially a common subset of the Mono 1.0 and .NET 1.0 builds.
+ It is built using the MS .NET 1.0 compiler and libraries but does not use any
+ platform specific APIs.
+ </p>
+ <p>
+ This build is only available in release configuration and can be found at
+ <span class="code">bin\cli\1.0\release</span>.
+ </p>
+ </li>
+ <li>
+ <h3>Logging contexts</h3>
+ <p>
+ Logging contexts can be used to record contextual data that is relevant to the current
+ process. Logging contexts are both an extension of the concepts embodied in the
+ <span class="code">MDC</span> and <span class="code">NDC</span> and a replacement for
+ them. The <span class="code">MDC</span> and <span class="code">NDC</span> have been
+ reimplemented to use the <span class="code">ThreadContext</span> as storage.
+ </p>
+ <p>
+ The logging contexts provide a single unified view that cuts across different
+ scopes within an application.
+ The contexts are layered in the following order of narrowing scope:
+ <span class="code">GlobalContext</span>, <span class="code">ThreadContext</span>,
+ <span class="code">LogicalThreadContext</span>, and <span class="code">LoggingEvent</span>.
+ Context values specified in a narrower scope hide the matching value in a wider scope.
+ </p>
+ </li>
+ <li>
+ <h3><span class="code">PatternLayout</span> customization and long pattern names</h3>
+ <p>
+ The <span class="code">PatternLayout</span> now supports long pattern names.
+ These pattern names are significantly more readable than the single character patterns.
+ </p>
+ <p>
+ The <span class="code">PatternLayout</span> now supports custom patterns. New patterns
+ can be defined in the config file:
+ </p>
+ <div class="syntax"><pre class="code">
<layout type="log4net.Layout.PatternLayout">
<converter>
@@ -197,24 +197,24 @@
<conversionPattern value="%-5level %logger - %myConverter - %message%newline" />
</layout></pre></div>
- <p>
- The above config defines a custom pattern called <span class="code">myConverter</span>
- which is bound to the <span class="code">TestApp.MyPatternConverter, TestApp</span>
- type. This type must extend the <span class="code">log4net.Util.PatternConverter</span>
- base class. The custom pattern can then be used in the pattern string.
- </p>
- <p>
- For full details see the SDK Reference entry: <a href="sdk/log4net.Layout.PatternLayout.html">log4net.Layout.PatternLayout</a>.
- </p>
- </li>
- <li>
- <h3><span class="code">PatternString</span> for pattern based configuration</h3>
- <p>
- A new pattern based type, <span class="code">PatternString</span>, can be used in
- the config file to set string properties using a pattern syntax. For example the
- File property of the FileAppender could be set as follows:
- </p>
- <div class="syntax"><pre class="code">
+ <p>
+ The above config defines a custom pattern called <span class="code">myConverter</span>
+ which is bound to the <span class="code">TestApp.MyPatternConverter, TestApp</span>
+ type. This type must extend the <span class="code">log4net.Util.PatternConverter</span>
+ base class. The custom pattern can then be used in the pattern string.
+ </p>
+ <p>
+ For full details see the SDK Reference entry: <a href="sdk/log4net.Layout.PatternLayout.html">log4net.Layout.PatternLayout</a>.
+ </p>
+ </li>
+ <li>
+ <h3><span class="code">PatternString</span> for pattern based configuration</h3>
+ <p>
+ A new pattern based type, <span class="code">PatternString</span>, can be used in
+ the config file to set string properties using a pattern syntax. For example the
+ File property of the FileAppender could be set as follows:
+ </p>
+ <div class="syntax"><pre class="code">
<file type="log4net.Util.PatternString">
<converter>
@@ -224,11 +224,11 @@
<conversionPattern value="%folder{LocalApplicationData}\log-file.txt" />
</file></pre></div>
- <p>
- The code for the <span class="code">SpecialFolderPatternConverter</span>
- is as follows:
- </p>
- <div class="syntax"><pre class="code">
+ <p>
+ The code for the <span class="code">SpecialFolderPatternConverter</span>
+ is as follows:
+ </p>
+ <div class="syntax"><pre class="code">
public class SpecialFolderPatternConverter : log4net.Util.PatternConverter
{
override protected void Convert(System.IO.TextWriter writer, object state)
@@ -239,452 +239,452 @@
writer.Write(Environment.GetFolderPath(specialFolder));
}
}</pre></div>
- <p>
- For full details see the SDK Reference entry: <a href="sdk/log4net.Util.PatternString.html">log4net.Util.PatternString</a>.
- </p>
- </li>
- <li>
- <h3>Loading configuration from a URI</h3>
- <p>
- The <span class="code">XmlConfigurator</span> methods now support loading the
- configuration data from a URI. Config can be loaded from any URI supported by the
- <span class="code">System.Net.WebRequest</span> class.
- </p>
- </li>
- <li>
- <h3>Support for No-Touch deployment</h3>
- <p>
- Log4net supports configuring No-Touch deployment applications using the
- <span class="code">XmlConfiguratorAttribute</span>. If a relative config file
- or extension is specified then this is resolved relative to the deployment
- URI.
- </p>
- </li>
- <li>
- <h3>Config file parser enhancements</h3>
- <p>
- The config file parser has been enhanced to support specifying the property subtype, or intermediate type,
- directly on the property element, for example:
- </p>
- <div class="syntax"><pre class="code">
+ <p>
+ For full details see the SDK Reference entry: <a href="sdk/log4net.Util.PatternString.html">log4net.Util.PatternString</a>.
+ </p>
+ </li>
+ <li>
+ <h3>Loading configuration from a URI</h3>
+ <p>
+ The <span class="code">XmlConfigurator</span> methods now support loading the
+ configuration data from a URI. Config can be loaded from any URI supported by the
+ <span class="code">System.Net.WebRequest</span> class.
+ </p>
+ </li>
+ <li>
+ <h3>Support for No-Touch deployment</h3>
+ <p>
+ Log4net supports configuring No-Touch deployment applications using the
+ <span class="code">XmlConfiguratorAttribute</span>. If a relative config file
+ or extension is specified then this is resolved relative to the deployment
+ URI.
+ </p>
+ </li>
+ <li>
+ <h3>Config file parser enhancements</h3>
+ <p>
+ The config file parser has been enhanced to support specifying the property subtype, or intermediate type,
+ directly on the property element, for example:
+ </p>
+ <div class="syntax"><pre class="code">
<layout type="log4net.Layout.PatternLayout" value="%message%newline" /></pre></div>
- <p>
- Implicit conversion will be attempted between the value string and the type specified,
- and then again between the type and the target property type.
- </p>
- </li>
- <li>
- <h3>.NET string formatting syntax</h3>
- <p>
- Added .NET <span class="code">String.Format</span> style formatting syntax methods to
- the <span class="code">ILog</span> interface. The new methods are:
- <span class="code">DebugFormat</span>, <span class="code">InfoFormat</span>,
- <span class="code">WarnFormat</span>, <span class="code">ErrorFormat</span>
- and <span class="code">FatalFormat</span>.
- </p>
- </li>
- <li>
- <h3>Customizable levels</h3>
- <p>
- Levels are defined by the repository <span class="code">LevelMap</span>. The defined
- levels, the relative ordering of levels and level display names can be configured on
- a per-repository basis.
- </p>
- </li>
- <li>
- <h3>Per-appender security contexts</h3>
- <p>
- Appenders that interact with controlled platform resources, e.g. files, can be
- configured to use a separate security context when accessing these resources.
- The calling thread may not have appropriate privileges to access the resource a
- custom <span class="code">SecurityContext</span> can be used to elevate the
- privileges of the appender. The <span class="code">WindowsSecurityContext</span>
- is used to specify alternative credentials on the Windows platform.
- </p>
- </li>
- <li>
- <h3>Added new appenders</h3>
- <dl>
- <dt><span class="code">AnsiColorTerminalAppender</span></dt>
- <dd>
- <p>
- The <span class="code">AnsiColorTerminalAppender</span> writes events to
- the application's ANSI terminal window. It can be configured to specify
- the text and background colors for different level events. Note that Console
- applications running on Windows do not have an ANSI terminal window and
- should use the <span class="code">ColoredConsoleAppender</span> instead.
- </p>
- </dd>
- <dt><span class="code">LocalSyslogAppender</span></dt>
- <dd>
- <p>
- Logs events to a local syslog service. This appender uses the POSIX libc syslog
- library functions. If these functions are not available on the local system then
- this appender will not work!
- </p>
- </dd>
- <dt><span class="code">RemoteSyslogAppender</span></dt>
- <dd>
- <p>
- The <span class="code">RemoteSyslogAppender</span> uses the BSD syslog protocol to
- log to a syslog daemon. The syslogd listens for for messages on UDP port 514.
- </p>
- </dd>
- <dt><span class="code">TelnetAppender</span></dt>
- <dd>
- <p>
- The <span class="code">TelnetAppender</span> accepts socket connections and streams
- logging messages back to the client. The output is provided in a telnet-friendly way
- so that a log can be monitored over a TCP/IP socket.
- This allows simple remote monitoring of application logging.
- </p>
- </dd>
- </dl>
- </li>
- <li>
- <h3>Added new <span class="code">LoggerMatchFilter</span> filter</h3>
- <p>
- Added <span class="code">LoggerMatchFilter</span> which matches a string against
- the event's logger name.
- </p>
- </li>
- <li>
- <h3>Pluggable file locking models for the <span class="code">FileAppender</span></h3>
- <p>
- The <span class="code">FileAppender</span> (and by extension the
- <span class="code">RollingFileAppender</span>) now support pluggable file
- locking models. The default model, <span class="code">ExclusiveLock</span>,
- maintains the current exclusive file locking behavior. An alternative
- model, <span class="code">MinimalLock</span>, can be used to support writing to
- a single output file from multiple processes.
- </p>
- <p>
- For full details see the SDK Reference entry: <a href="sdk/log4net.Appender.FileAppender.LockingModel.html">log4net.Appender.FileAppender.LockingModel</a>.
- </p>
- </li>
- <li>
- <h3><span class="code">RollingFileAppender</span> roll once</h3>
- <p>
- The <span class="code">RollingFileAppender</span> now supports a new
- rolling style, <span class="code">Once</span>. In this mode the appender
- will roll the file once per run.
- </p>
- </li>
- <li>
- <h3><span class="code">SmtpAppender</span> authentication</h3>
- <p>
- On the .NET 1.1 platform only, the <span class="code">SmtpAppender</span> supports authenticating
- against the mail server using either username and password or integrated NTLM authentication.
- </p>
- </li>
- <li>
- <h3><span class="code">AdoNetAppender</span> ReconnectOnError</h3>
- <p>
- Added new configuration property to <span class="code">AdoNetAppender</span>.
- Setting <span class="code">ReconnectOnError</span> to <span class="code">true</span>
- will force the appender to attempt to reconnect to the database if the connection
- is lost.
- </p>
- </li>
- <li>
- <h3><span class="code">UdpAppender</span> hostname support</h3>
- <p>
- The <span class="code">UdpAppender</span> config property <span class="code">RemoteAddress</span>
- can now be specified as a DNS hostname string. The hostname is resolved to an IP address.
- </p>
- </li>
- </ul>
- </section>
-
- <section id="1.2.9-other" name="Other Changes">
- <ul>
- <li>
- <h3>FxCop compliance</h3>
- <p>
- Updates to bring the internal code in line with the current FxCop rules.
- </p>
- </li>
- <li>
- <h3>Separate NUnit tests</h3>
- <p>
- Moved the NUnit tests into a separate project, <span class="code">log4net.Tests</span>.
- </p>
- </li>
- <li>
- <h3>Bug Fixes</h3>
- <dl>
- <dt><span class="code">RemotingAppender</span></dt>
- <dd>
- <p>
- Sends events from a <span class="code">ThreadPool</span> thread
- rather than the calling thread to prevent transfer,
- and potential loss, of the <span class="code">CallContext</span>.
- </p>
- </dd>
- <dt><span class="code">RollingFileAppender</span></dt>
- <dd>
- <p>
- Fixed date rolling period detection for non UTC timezones.
- </p>
- </dd>
- <dt><span class="code">ColoredConsoleAppender</span></dt>
- <dd>
- <p>
- Updated to support writing more than 30,000 chars in a single message.
- Fixed background color overspill if the console window needs to
- scroll the contents.
- </p>
- </dd>
- </dl>
- </li>
- </ul>
- </section>
-
- </section>
-
- <section id="1.2.0b8" name="1.2.0 Beta 8">
- <ul>
- <li>
- <h3>Changed assembly name to <span class="code">log4net</span></h3>
- <p>
- The build output is now <span class="code">log4net.dll</span>
- for all frameworks. This is a breaking change.
- </p>
- <p>
- To resolve cross platform and cross version issues we have
- changed the log4net assembly to use a common name for all
- frameworks. The assembly friendly name is now <span class="code">log4net</span>.
- The builds for each framework can now be differentiated
- by the assembly title. This includes the name of the framework
- that the assembly was built on.
- </p>
- </li>
- <li>
- <h3>Combined Release and ReleaseStrong builds</h3>
- <p>
- The Release and ReleaseStrong builds have been consolidated into
- a single build called Release. This Release build is strongly named.
- </p>
- </li>
- <li>
- <h3>New Appender: ColoredConsoleAppender</h3>
- <p>
- The <span class="code">ColoredConsoleAppender</span> writes events to the
- application's console. It can be configured to specify the text and background
- colors for different level events.
- </p>
- </li>
- <li>
- <h3>New Appender: SmtpPickupDirAppender</h3>
- <p>
- The <span class="code">SmtpPickupDirAppender</span> generates SMTP compliant
- messages and writes them to a local directory. These files can then be read
- by an SMTP agent (e.g. the IIS SMTP Agent) and delivered.
- </p>
- </li>
- <li>
- <h3>New Layout: XmlLayoutSchemaLog4j</h3>
- <p>
- This new layout formats the logging events as XML which complies with
- the log4j event dtd. This can be used to transfer log event from log4net
- to log4j. Currently the only appender that can communicate directly with
- log4j is the <span class="code">UdpAppender</span>.
- </p>
- </li>
- <li>
- <h3>New PatternLayout conversion characters</h3>
- <p>
- Added support for capturing the current thread principal name and the
- app domain friendly name for each logging event.
- </p>
- <dl>
- <dt>%a</dt>
- <dd>
- Used to output the friendly name of the AppDomain where the
- logging event was generated.
- </dd>
- <dt>%u</dt>
- <dd>
- Used to output the user name for the currently active user
- (<span class="code">Principal.Identity.Name</span>).
- </dd>
- </dl>
- </li>
- <li>
- <h3>Types specified in the config file are now loaded ignoring case</h3>
- <p>
- All types specified in the configuration files are now loaded
- using a case insensitive method.
- </p>
- </li>
- <li>
- <h3>Fine grained fixing for buffered events</h3>
- <p>
- The <span class="code">LoggingEvent</span> now supports fine grained
- fixing of data that needs to be accessed outside the append context,
- e.g. when an event is buffered. The new <span class="code">Fix</span>
- property takes a combination of the <span class="code">FixFlags</span>
- enumeration values.
- </p>
- </li>
- <li>
- <h3>Code updated inline with FxCop 1.21</h3>
- <p>
- In line with the FxCop 1.21 guidelines:
- Sealed utility classes. Added serialization security demand to GetObjectData.
- Renamed parameters.
- </p>
- </li>
- <li>
- <h3>EventLogAppender 32K Limit</h3>
- <p>
- There is a limit of 32K characters in an EventLog message. Added a
- check that only logs the first 32000 characters from the rendered
- message.
- </p>
- </li>
- </ul>
- </section>
-
- <section id="1.2.0b7" name="1.2.0 Beta 7">
- <ul>
- <li>
- <h3>Updated to support the Microsoft .NET Framework 1.1 Final</h3>
- <p>
- Updated to support the Microsoft .NET Framework 1.1 Final Beta (1.1.4322).
- </p>
- </li>
- <li>
- <h3>Features document</h3>
- <p>
- Added a new document that covers the main features of log4net.
- See the <a href="doc/features.html">features</a>
- document for more information.
- </p>
- </li>
- <li>
- <h3>Hierarchy disabled until it is configured</h3>
- <p>
- The Hierarchy is now disabled until it has been configured.
- All messages logged to the Hierarchy before it has been
- configured will be ignored without an error message being
- written to the console.
- </p>
- <p>
- If you are configuring log4net programmatically (i.e. not using
- one of the built-in configurators) you must set the
- <span class="code">ILoggerRepository.Configured</span> property
- to <span class="code">true</span> once you have configured
- the repository.
- </p>
- <p>
- The no appenders defined for a logger message will no longer be
- displayed on the console by default. This message will only be
- displayed if internal debugging is enabled.
- </p>
- </li>
- <li>
- <h3>New examples in VisualBasic.NET, JScript and Managed C++</h3>
- <p>
- New examples in VisualBasic.NET, JScript and Managed C++.
- TODO Link to document about examples.
- </p>
- </li>
- <li>
- <h3>Code and Documentation Updates</h3>
- <p>
- Code fixes. Documentation and manual updates.
- See the ChangeLog for more information.
- </p>
- </li>
- <li>
- <h3>Added document with example appender configurations</h3>
- <p>
- See the <a href="doc/manual/example-config-appender.html">Example Appender Configuration</a>
- document for more information.
- </p>
- </li>
- </ul>
- </section>
+ <p>
+ Implicit conversion will be attempted between the value string and the type specified,
+ and then again between the type and the target property type.
+ </p>
+ </li>
+ <li>
+ <h3>.NET string formatting syntax</h3>
+ <p>
+ Added .NET <span class="code">String.Format</span> style formatting syntax methods to
+ the <span class="code">ILog</span> interface. The new methods are:
+ <span class="code">DebugFormat</span>, <span class="code">InfoFormat</span>,
+ <span class="code">WarnFormat</span>, <span class="code">ErrorFormat</span>
+ and <span class="code">FatalFormat</span>.
+ </p>
+ </li>
+ <li>
+ <h3>Customizable levels</h3>
+ <p>
+ Levels are defined by the repository <span class="code">LevelMap</span>. The defined
+ levels, the relative ordering of levels and level display names can be configured on
+ a per-repository basis.
+ </p>
+ </li>
+ <li>
+ <h3>Per-appender security contexts</h3>
+ <p>
+ Appenders that interact with controlled platform resources, e.g. files, can be
+ configured to use a separate security context when accessing these resources.
+ The calling thread may not have appropriate privileges to access the resource a
+ custom <span class="code">SecurityContext</span> can be used to elevate the
+ privileges of the appender. The <span class="code">WindowsSecurityContext</span>
+ is used to specify alternative credentials on the Windows platform.
+ </p>
+ </li>
+ <li>
+ <h3>Added new appenders</h3>
+ <dl>
+ <dt><span class="code">AnsiColorTerminalAppender</span></dt>
+ <dd>
+ <p>
+ The <span class="code">AnsiColorTerminalAppender</span> writes events to
+ the application's ANSI terminal window. It can be configured to specify
+ the text and background colors for different level events. Note that Console
+ applications running on Windows do not have an ANSI terminal window and
+ should use the <span class="code">ColoredConsoleAppender</span> instead.
+ </p>
+ </dd>
+ <dt><span class="code">LocalSyslogAppender</span></dt>
+ <dd>
+ <p>
+ Logs events to a local syslog service. This appender uses the POSIX libc syslog
+ library functions. If these functions are not available on the local system then
+ this appender will not work!
+ </p>
+ </dd>
+ <dt><span class="code">RemoteSyslogAppender</span></dt>
+ <dd>
+ <p>
+ The <span class="code">RemoteSyslogAppender</span> uses the BSD syslog protocol to
+ log to a syslog daemon. The syslogd listens for for messages on UDP port 514.
+ </p>
+ </dd>
+ <dt><span class="code">TelnetAppender</span></dt>
+ <dd>
+ <p>
+ The <span class="code">TelnetAppender</span> accepts socket connections and streams
+ logging messages back to the client. The output is provided in a telnet-friendly way
+ so that a log can be monitored over a TCP/IP socket.
+ This allows simple remote monitoring of application logging.
+ </p>
+ </dd>
+ </dl>
+ </li>
+ <li>
+ <h3>Added new <span class="code">LoggerMatchFilter</span> filter</h3>
+ <p>
+ Added <span class="code">LoggerMatchFilter</span> which matches a string against
+ the event's logger name.
+ </p>
+ </li>
+ <li>
+ <h3>Pluggable file locking models for the <span class="code">FileAppender</span></h3>
+ <p>
+ The <span class="code">FileAppender</span> (and by extension the
+ <span class="code">RollingFileAppender</span>) now support pluggable file
+ locking models. The default model, <span class="code">ExclusiveLock</span>,
+ maintains the current exclusive file locking behavior. An alternative
+ model, <span class="code">MinimalLock</span>, can be used to support writing to
+ a single output file from multiple processes.
+ </p>
+ <p>
+ For full details see the SDK Reference entry: <a href="sdk/log4net.Appender.FileAppender.LockingModel.html">log4net.Appender.FileAppender.LockingModel</a>.
+ </p>
+ </li>
+ <li>
+ <h3><span class="code">RollingFileAppender</span> roll once</h3>
+ <p>
+ The <span class="code">RollingFileAppender</span> now supports a new
+ rolling style, <span class="code">Once</span>. In this mode the appender
+ will roll the file once per run.
+ </p>
+ </li>
+ <li>
+ <h3><span class="code">SmtpAppender</span> authentication</h3>
+ <p>
+ On the .NET 1.1 platform only, the <span class="code">SmtpAppender</span> supports authenticating
+ against the mail server using either username and password or integrated NTLM authentication.
+ </p>
+ </li>
+ <li>
+ <h3><span class="code">AdoNetAppender</span> ReconnectOnError</h3>
+ <p>
+ Added new configuration property to <span class="code">AdoNetAppender</span>.
+ Setting <span class="code">ReconnectOnError</span> to <span class="code">true</span>
+ will force the appender to attempt to reconnect to the database if the connection
+ is lost.
+ </p>
+ </li>
+ <li>
+ <h3><span class="code">UdpAppender</span> hostname support</h3>
+ <p>
+ The <span class="code">UdpAppender</span> config property <span class="code">RemoteAddress</span>
+ can now be specified as a DNS hostname string. The hostname is resolved to an IP address.
+ </p>
+ </li>
+ </ul>
+ </section>
+
+ <section id="1.2.9-other" name="Other Changes">
+ <ul>
+ <li>
+ <h3>FxCop compliance</h3>
+ <p>
+ Updates to bring the internal code in line with the current FxCop rules.
+ </p>
+ </li>
+ <li>
+ <h3>Separate NUnit tests</h3>
+ <p>
+ Moved the NUnit tests into a separate project, <span class="code">log4net.Tests</span>.
+ </p>
+ </li>
+ <li>
+ <h3>Bug Fixes</h3>
+ <dl>
+ <dt><span class="code">RemotingAppender</span></dt>
+ <dd>
+ <p>
+ Sends events from a <span class="code">ThreadPool</span> thread
+ rather than the calling thread to prevent transfer,
+ and potential loss, of the <span class="code">CallContext</span>.
+ </p>
+ </dd>
+ <dt><span class="code">RollingFileAppender</span></dt>
+ <dd>
+ <p>
+ Fixed date rolling period detection for non UTC timezones.
+ </p>
+ </dd>
+ <dt><span class="code">ColoredConsoleAppender</span></dt>
+ <dd>
+ <p>
+ Updated to support writing more than 30,000 chars in a single message.
+ Fixed background color overspill if the console window needs to
+ scroll the contents.
+ </p>
+ </dd>
+ </dl>
+ </li>
+ </ul>
+ </section>
+
+ </section>
+
+ <section id="1.2.0b8" name="1.2.0 Beta 8">
+ <ul>
+ <li>
+ <h3>Changed assembly name to <span class="code">log4net</span></h3>
+ <p>
+ The build output is now <span class="code">log4net.dll</span>
+ for all frameworks. This is a breaking change.
+ </p>
+ <p>
+ To resolve cross platform and cross version issues we have
+ changed the log4net assembly to use a common name for all
+ frameworks. The assembly friendly name is now <span class="code">log4net</span>.
+ The builds for each framework can now be differentiated
+ by the assembly title. This includes the name of the framework
+ that the assembly was built on.
+ </p>
+ </li>
+ <li>
+ <h3>Combined Release and ReleaseStrong builds</h3>
+ <p>
+ The Release and ReleaseStrong builds have been consolidated into
+ a single build called Release. This Release build is strongly named.
+ </p>
+ </li>
+ <li>
+ <h3>New Appender: ColoredConsoleAppender</h3>
+ <p>
+ The <span class="code">ColoredConsoleAppender</span> writes events to the
+ application's console. It can be configured to specify the text and background
+ colors for different level events.
+ </p>
+ </li>
+ <li>
+ <h3>New Appender: SmtpPickupDirAppender</h3>
+ <p>
+ The <span class="code">SmtpPickupDirAppender</span> generates SMTP compliant
+ messages and writes them to a local directory. These files can then be read
+ by an SMTP agent (e.g. the IIS SMTP Agent) and delivered.
+ </p>
+ </li>
+ <li>
+ <h3>New Layout: XmlLayoutSchemaLog4j</h3>
+ <p>
+ This new layout formats the logging events as XML which complies with
+ the log4j event dtd. This can be used to transfer log event from log4net
+ to log4j. Currently the only appender that can communicate directly with
+ log4j is the <span class="code">UdpAppender</span>.
+ </p>
+ </li>
+ <li>
+ <h3>New PatternLayout conversion characters</h3>
+ <p>
+ Added support for capturing the current thread principal name and the
+ app domain friendly name for each logging event.
+ </p>
+ <dl>
+ <dt>%a</dt>
+ <dd>
+ Used to output the friendly name of the AppDomain where the
+ logging event was generated.
+ </dd>
+ <dt>%u</dt>
+ <dd>
+ Used to output the user name for the currently active user
+ (<span class="code">Principal.Identity.Name</span>).
+ </dd>
+ </dl>
+ </li>
+ <li>
+ <h3>Types specified in the config file are now loaded ignoring case</h3>
+ <p>
+ All types specified in the configuration files are now loaded
+ using a case insensitive method.
+ </p>
+ </li>
+ <li>
+ <h3>Fine grained fixing for buffered events</h3>
+ <p>
+ The <span class="code">LoggingEvent</span> now supports fine grained
+ fixing of data that needs to be accessed outside the append context,
+ e.g. when an event is buffered. The new <span class="code">Fix</span>
+ property takes a combination of the <span class="code">FixFlags</span>
+ enumeration values.
+ </p>
+ </li>
+ <li>
+ <h3>Code updated inline with FxCop 1.21</h3>
+ <p>
+ In line with the FxCop 1.21 guidelines:
+ Sealed utility classes. Added serialization security demand to GetObjectData.
+ Renamed parameters.
+ </p>
+ </li>
+ <li>
+ <h3>EventLogAppender 32K Limit</h3>
+ <p>
+ There is a limit of 32K characters in an EventLog message. Added a
+ check that only logs the first 32000 characters from the rendered
+ message.
+ </p>
+ </li>
+ </ul>
+ </section>
+
+ <section id="1.2.0b7" name="1.2.0 Beta 7">
+ <ul>
+ <li>
+ <h3>Updated to support the Microsoft .NET Framework 1.1 Final</h3>
+ <p>
+ Updated to support the Microsoft .NET Framework 1.1 Final Beta (1.1.4322).
+ </p>
+ </li>
+ <li>
+ <h3>Features document</h3>
+ <p>
+ Added a new document that covers the main features of log4net.
+ See the <a href="doc/features.html">features</a>
+ document for more information.
+ </p>
+ </li>
+ <li>
+ <h3>Hierarchy disabled until it is configured</h3>
+ <p>
+ The Hierarchy is now disabled until it has been configured.
+ All messages logged to the Hierarchy before it has been
+ configured will be ignored without an error message being
+ written to the console.
+ </p>
+ <p>
+ If you are configuring log4net programmatically (i.e. not using
+ one of the built-in configurators) you must set the
+ <span class="code">ILoggerRepository.Configured</span> property
+ to <span class="code">true</span> once you have configured
+ the repository.
+ </p>
+ <p>
+ The no appenders defined for a logger message will no longer be
+ displayed on the console by default. This message will only be
+ displayed if internal debugging is enabled.
+ </p>
+ </li>
+ <li>
+ <h3>New examples in VisualBasic.NET, JScript and Managed C++</h3>
+ <p>
+ New examples in VisualBasic.NET, JScript and Managed C++.
+ TODO Link to document about examples.
+ </p>
+ </li>
+ <li>
+ <h3>Code and Documentation Updates</h3>
+ <p>
+ Code fixes. Documentation and manual updates.
+ See the ChangeLog for more information.
+ </p>
+ </li>
+ <li>
+ <h3>Added document with example appender configurations</h3>
+ <p>
+ See the <a href="doc/manual/example-config-appender.html">Example Appender Configuration</a>
+ document for more information.
+ </p>
+ </li>
+ </ul>
+ </section>
- <section id="1.2.0b6" name="1.2.0 Beta 6">
- <ul>
- <li>
- <h3>Added support for multiple frameworks</h3>
- <p>
- log4net 1.2.0 beta 6 adds support for the the following frameworks:
- </p>
- <div class="table">
- <table cellspacing="0">
- <colgroup>
- <col style="text-align: left;" />
- </colgroup>
- <tr>
- <th>
- Framework</th>
- <th>
- Website</th>
- </tr>
- <tr style="vertical-align: top;">
- <td>Microsoft .NET Framework 1.1 Final Beta (1.1.4322)</td>
- <td><a href="http://msdn.microsoft.com/net">http://msdn.microsoft.com/net</a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td>Microsoft .NET Compact Framework 1.0 (1.0.5000)</td>
- <td><a href="http://msdn.microsoft.com/vstudio/device/compactfx.asp">http://msdn.microsoft.com/vstudio/device/compactfx.asp</a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td>Mono 0.23</td>
- <td><a href="http://www.go-mono.org">http://www.go-mono.org</a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td>Microsoft Shared Source CLI 1.0</td>
- <td><a href="http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp">http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp</a></td>
- </tr>
- </table>
- </div>
- <br />
- <p>
- Not all frameworks are created equal and some features have been excluded from
- some of the builds. See the <a href="doc/manual/framework-support.html">Framework Support</a> document for more information.
- </p>
- </li>
- <li>
- <h3>New build system using NAnt</h3>
- <p>
- The new build system allows log4net to be built for all supported frameworks and
- in all build configurations in one go.
- </p>
- </li>
- <li>
- <h3>New source code & distribution layout</h3>
- <p>
- The source code & distribution layout has been updated to support the new
- build environment and multiple target frameworks.
- </p>
- </li>
- <li>
- <h3>Removed DomainAttribute.UseDefaultDomain property</h3>
- <p>
- Updated default behavior of <span class="code">DefaultRepositorySelector</span>. Assemblies
- are now by default placed into the default domain. To specify another domain,
- the <span class="code">DomainAttribute</span> must be used. This is the opposite behavior
- to what was previously available. If you were previously specifying the <span class="code">DomainAttribute.UseDefaultDomain</span>
- property then you should remove it, and if the default behavior is now
- sufficient, you do not need to specify the <span class="code">DomainAttribute</span> at all.
- </p>
- </li>
- <li>
- <h3>Updated configuration file parser</h3>
- <p>
- Updated config file parser to use the element name as the property to set. Also
- removed <span class="code"><object></span> tag, the type attribute can now be
- specified on the property element directly.
- </p>
- <p>
- For example:
- </p>
- <div class="syntax"><pre class="code">
+ <section id="1.2.0b6" name="1.2.0 Beta 6">
+ <ul>
+ <li>
+ <h3>Added support for multiple frameworks</h3>
+ <p>
+ log4net 1.2.0 beta 6 adds support for the the following frameworks:
+ </p>
+ <div class="table">
+ <table cellspacing="0">
+ <colgroup>
+ <col style="text-align: left;" />
+ </colgroup>
+ <tr>
+ <th>
+ Framework</th>
+ <th>
+ Website</th>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td>Microsoft .NET Framework 1.1 Final Beta (1.1.4322)</td>
+ <td><a href="http://msdn.microsoft.com/net">http://msdn.microsoft.com/net</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td>Microsoft .NET Compact Framework 1.0 (1.0.5000)</td>
+ <td><a href="http://msdn.microsoft.com/vstudio/device/compactfx.asp">http://msdn.microsoft.com/vstudio/device/compactfx.asp</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td>Mono 0.23</td>
+ <td><a href="http://www.go-mono.org">http://www.go-mono.org</a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td>Microsoft Shared Source CLI 1.0</td>
+ <td><a href="http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp">http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp</a></td>
+ </tr>
+ </table>
+ </div>
+ <br />
+ <p>
+ Not all frameworks are created equal and some features have been excluded from
+ some of the builds. See the <a href="doc/manual/framework-support.html">Framework Support</a> document for more information.
+ </p>
+ </li>
+ <li>
+ <h3>New build system using NAnt</h3>
+ <p>
+ The new build system allows log4net to be built for all supported frameworks and
+ in all build configurations in one go.
+ </p>
+ </li>
+ <li>
+ <h3>New source code & distribution layout</h3>
+ <p>
+ The source code & distribution layout has been updated to support the new
+ build environment and multiple target frameworks.
+ </p>
+ </li>
+ <li>
+ <h3>Removed DomainAttribute.UseDefaultDomain property</h3>
+ <p>
+ Updated default behavior of <span class="code">DefaultRepositorySelector</span>. Assemblies
+ are now by default placed into the default domain. To specify another domain,
+ the <span class="code">DomainAttribute</span> must be used. This is the opposite behavior
+ to what was previously available. If you were previously specifying the <span class="code">DomainAttribute.UseDefaultDomain</span>
+ property then you should remove it, and if the default behavior is now
+ sufficient, you do not need to specify the <span class="code">DomainAttribute</span> at all.
+ </p>
+ </li>
+ <li>
+ <h3>Updated configuration file parser</h3>
+ <p>
+ Updated config file parser to use the element name as the property to set. Also
+ removed <span class="code"><object></span> tag, the type attribute can now be
+ specified on the property element directly.
+ </p>
+ <p>
+ For example:
+ </p>
+ <div class="syntax"><pre class="code">
<appender>
<param name="Evaluator">
<object type="log4net.spi.LevelEvaluator">
@@ -694,392 +694,392 @@
</object>
</param>
</appender></pre></div>
- <p>
- becomes:
- </p>
- <div class="syntax"><pre class="code">
+ <p>
+ becomes:
+ </p>
+ <div class="syntax"><pre class="code">
<appender>
<evaluator type="log4net.spi.LevelEvaluator">
<threshold value="DEBUG"/>
</evaluator>
</appender></pre></div>
- </li>
- <li>
- <h3>Support for event ID</h3>
- <p>
- The <span class="code">EventLogAppender</span> now supports setting the event ID in the
- event log, this is taken from the <span class="code">EventID</span> property from the per
- event <span class="code">Properties</span> map on the <span class="code">LoggingEvent</span>.
- </p>
- </li>
- <li>
- <h3>Updated ADONetAppender</h3>
- <p />
- <ul>
- <li>
- Added support for prepared statements and stored procedures</li>
- <li>
- Added <span class="code">RawTimeStampLayout</span>to correctly convert the timestamps into
- database date time format</li>
- <li>
- Added <span class="code">ExceptionLayout</span> to render the exception data</li>
- </ul>
- <p />
- </li>
- <li>
- <h3>Support for front-end extension</h3>
- <p>
- This allows the logging API to be wrapped or adapted for specific purposes. Two
- extension samples are included in the distribution:
- </p>
- <div class="table">
- <table cellspacing="0">
- <colgroup>
- <col style="width: 50%; text-align: left;" />
- <col style="width: 50%; text-align: left;" />
- </colgroup>
- <tr>
- <th>
- Extension</th>
- <th>
- Description</th>
- </tr>
- <tr style="vertical-align: top;">
- <td>log4net.Ext.Trace</td>
- <td>Adds trace logging methods</td>
- </tr>
- <tr style="vertical-align: top;">
- <td>log4net.Ext.EventID</td>
- <td>Adds additional eventId parameter to all methods</td>
- </tr>
- </table>
- </div>
- <p />
- </li>
- <li>
- <h3>Added ForwardingAppender</h3>
- <p>Forwards events to multiple sub appenders after applying filter rules.</p>
- </li>
- <li>
- <h3>Added BufferingForwardingAppender</h3>
- <p>Forward events to sub appenders after buffering them.</p>
- </li>
- <li>
- <h3>Added ASPNetTraceAppender</h3>
- <p>Logs events to the ASP.NET trace system.</p>
- </li>
- <li>
- <h3>Added NetSendAppender</h3>
- <p>Delivers logging events using the Windows Messenger service.</p>
- </li>
- <li>
- <h3>Added UdpAppender</h3>
- <p>Sends logging events as connectionless UDP datagrams to a remote host or a
- multicast group.</p>
- </li>
- <li>
- <h3>Removed obsolete methods</h3>
- </li>
- <li>
- <h3>Lots of updates to improve our compliance with FxCop</h3>
- </li>
- <li>
- <h3>Improved SDK documentation</h3>
- </li>
- </ul>
- </section>
+ </li>
+ <li>
+ <h3>Support for event ID</h3>
+ <p>
+ The <span class="code">EventLogAppender</span> now supports setting the event ID in the
+ event log, this is taken from the <span class="code">EventID</span> property from the per
+ event <span class="code">Properties</span> map on the <span class="code">LoggingEvent</span>.
+ </p>
+ </li>
+ <li>
+ <h3>Updated ADONetAppender</h3>
+ <p />
+ <ul>
+ <li>
+ Added support for prepared statements and stored procedures</li>
+ <li>
+ Added <span class="code">RawTimeStampLayout</span>to correctly convert the timestamps into
+ database date time format</li>
+ <li>
+ Added <span class="code">ExceptionLayout</span> to render the exception data</li>
+ </ul>
+ <p />
+ </li>
+ <li>
+ <h3>Support for front-end extension</h3>
+ <p>
+ This allows the logging API to be wrapped or adapted for specific purposes. Two
+ extension samples are included in the distribution:
+ </p>
+ <div class="table">
+ <table cellspacing="0">
+ <colgroup>
+ <col style="width: 50%; text-align: left;" />
+ <col style="width: 50%; text-align: left;" />
+ </colgroup>
+ <tr>
+ <th>
+ Extension</th>
+ <th>
+ Description</th>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td>log4net.Ext.Trace</td>
+ <td>Adds trace logging methods</td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td>log4net.Ext.EventID</td>
+ <td>Adds additional eventId parameter to all methods</td>
+ </tr>
+ </table>
+ </div>
+ <p />
+ </li>
+ <li>
+ <h3>Added ForwardingAppender</h3>
+ <p>Forwards events to multiple sub appenders after applying filter rules.</p>
+ </li>
+ <li>
+ <h3>Added BufferingForwardingAppender</h3>
+ <p>Forward events to sub appenders after buffering them.</p>
+ </li>
+ <li>
+ <h3>Added ASPNetTraceAppender</h3>
+ <p>Logs events to the ASP.NET trace system.</p>
+ </li>
+ <li>
+ <h3>Added NetSendAppender</h3>
+ <p>Delivers logging events using the Windows Messenger service.</p>
+ </li>
+ <li>
+ <h3>Added UdpAppender</h3>
+ <p>Sends logging events as connectionless UDP datagrams to a remote host or a
+ multicast group.</p>
+ </li>
+ <li>
+ <h3>Removed obsolete methods</h3>
+ </li>
+ <li>
+ <h3>Lots of updates to improve our compliance with FxCop</h3>
+ </li>
+ <li>
+ <h3>Improved SDK documentation</h3>
+ </li>
+ </ul>
+ </section>
- <section id="1.2.0b5" name="1.2.0 Beta 5">
- <ul>
- <li>
- <h3>Fixed Exception thrown when DOM Configurator called with a null XML
- Element.</h3>
- <p>This occurred if the configuration file did not have a log4net section defined.</p>
- </li>
- <li>
- <h3>Made level lookup case insensitive</h3>
- </li>
- <li>
- <h3>Prevented the Hierarchy's Threshold level from being set to a null reference</h3>
- </li>
- </ul>
- </section>
+ <section id="1.2.0b5" name="1.2.0 Beta 5">
+ <ul>
+ <li>
+ <h3>Fixed Exception thrown when DOM Configurator called with a null XML
+ Element.</h3>
+ <p>This occurred if the configuration file did not have a log4net section defined.</p>
+ </li>
+ <li>
+ <h3>Made level lookup case insensitive</h3>
+ </li>
+ <li>
+ <h3>Prevented the Hierarchy's Threshold level from being set to a null reference</h3>
+ </li>
+ </ul>
+ </section>
- <section id="1.2.0b4" name="1.2.0 Beta 4">
- <ul>
- <li>
- <h3>Added event specific properties to the logging event object</h3>
- <p>
- Appenders can add additional information to the events they are logging. The <span class="code">RemotingAppender</span>
- and the <span class="code">SMTPAppender</span> both add a 'hostname' property to the events.
- These properties can be accessed using the <span class="code">PatternLayout</span> with the
- %P{name} syntax.
- </p>
- </li>
- <li>
- <h3>Added a plugin framework</h3>
- <p>An <span class="code">IPlugin</span> interface can be attached to any repository.</p>
- </li>
- <li>
- <h3>A new RemoteLoggingServerPlugin plugin acts as the server for the
- RemotingAppender</h3>
- </li>
- <li>
- <h3>Updated the core log4net framework to work in an environment with no
- permissions</h3>
- <p>Specific appenders still require additional permissions to log correctly</p>
- </li>
- <li>
- <h3>Added support for domain aliasing using the AliasDomainAttribute</h3>
- <p>This allows a parent assembly to take control of the logging domain for child
- assemblies.</p>
- </li>
- <li>
- <h3>Added events for repository creation, configuration change, configuration reset
- and repository shutdown</h3>
- </li>
- <li>
- <h3>Added LevelMap to the ILoggerRepository interface</h3>
- <p>The mapping from level name to level object is now repository specific,
- therefore each repository can have independent mappings.</p>
- </li>
- <li>
- <h3>Moved hierarchy specific config file parser to new DOMHierarchyConfigurator class</h3>
- <p>This is controlled by the <span class="code">Hierarchy</span> object and allows for better
- encapsulation.</p>
- </li>
- <li>
- <h3>Added OnlyFixPartialEventData property to the buffered appenders</h3>
- <p>This setting causes slow settings to be ignored. This significantly improves the
- performance of the buffered appenders.</p>
- </li>
- <li>
- <h3>XML entity references are supported in the XML config file.</h3>
- </li>
- <li>
- <h3>Added support for expanding environment variables in <param> values</h3>
- <p>
- The environment variables must be specified as <span class="code">${FOO}</span> where <span class="code">FOO</span>
- is the name of the variable to expand.
- </p>
- </li>
- <li>
- <h3>Upgraded to use NUnit 2.0</h3>
- </li>
- <li>
- <h3>File appenders can specify the encoding to use for the file</h3>
- </li>
- <li>
- <h3>Added strong named configuration</h3>
- </li>
- </ul>
- </section>
+ <section id="1.2.0b4" name="1.2.0 Beta 4">
+ <ul>
+ <li>
+ <h3>Added event specific properties to the logging event object</h3>
+ <p>
+ Appenders can add additional information to the events they are logging. The <span class="code">RemotingAppender</span>
+ and the <span class="code">SMTPAppender</span> both add a 'hostname' property to the events.
+ These properties can be accessed using the <span class="code">PatternLayout</span> with the
+ %P{name} syntax.
+ </p>
+ </li>
+ <li>
+ <h3>Added a plugin framework</h3>
+ <p>An <span class="code">IPlugin</span> interface can be attached to any repository.</p>
+ </li>
+ <li>
+ <h3>A new RemoteLoggingServerPlugin plugin acts as the server for the
+ RemotingAppender</h3>
+ </li>
+ <li>
+ <h3>Updated the core log4net framework to work in an environment with no
+ permissions</h3>
+ <p>Specific appenders still require additional permissions to log correctly</p>
+ </li>
+ <li>
+ <h3>Added support for domain aliasing using the AliasDomainAttribute</h3>
+ <p>This allows a parent assembly to take control of the logging domain for child
+ assemblies.</p>
+ </li>
+ <li>
+ <h3>Added events for repository creation, configuration change, configuration reset
+ and repository shutdown</h3>
+ </li>
+ <li>
+ <h3>Added LevelMap to the ILoggerRepository interface</h3>
+ <p>The mapping from level name to level object is now repository specific,
+ therefore each repository can have independent mappings.</p>
+ </li>
+ <li>
+ <h3>Moved hierarchy specific config file parser to new DOMHierarchyConfigurator class</h3>
+ <p>This is controlled by the <span class="code">Hierarchy</span> object and allows for better
+ encapsulation.</p>
+ </li>
+ <li>
+ <h3>Added OnlyFixPartialEventData property to the buffered appenders</h3>
[... 439 lines stripped ...]