nicko       2005/01/25 11:31:20

  Modified:    xdocs/src/stylesheets project.xml
  Added:       xdocs/src/release release-notes.xml
  Removed:     .        releasenotes.html
  Log:
  Moved releasenotes.html to xdocs xml format
  
  Revision  Changes    Path
  1.4       +1 -0      logging-log4net/xdocs/src/stylesheets/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/logging-log4net/xdocs/src/stylesheets/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml       20 Jan 2005 13:47:17 -0000      1.3
  +++ project.xml       25 Jan 2005 19:31:20 -0000      1.4
  @@ -41,6 +41,7 @@
                <menu name="log4net 1.2 Documentation">
                        <item name="Features" href="/release/features.html" />
                        <item name="Supported Frameworks" 
href="/release/framework-support.html" />
  +                     <item name="Release Notes" 
href="/release/release-notes.html" />
                        <item name="Example Apps" 
href="/release/example-apps.html" />
                        <item name="Config Examples" 
href="/release/config-examples.html" />
                        <item name="Building" href="/release/building.html" />
  
  
  
  1.1                  logging-log4net/xdocs/src/release/release-notes.xml
  
  Index: release-notes.xml
  ===================================================================
  <?xml version="1.0" ?>
  <!--
  Copyright 2004-2005 The Apache Software Foundation
  
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  -->
  <document>
  
        <properties>
                <author email="nicko at apache dot org">Nicko Cadell</author>
                <title>log4net Release Notes</title>
        </properties>
  
        <meta name="keywords" content="log4net release notes, log4net" />
  
        <body>
                <section name="log4net Release Notes">
                
                        <sectionMenu name="Contents" />
  
                        <section 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 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 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 &amp; 
distribution layout</h3>
                                                <p>
                                                        The source code &amp; 
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 
behaviour 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 
behaviour 
                                                        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 behaviour 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">&lt;object&gt;</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">
  &lt;appender&gt;
    &lt;param name=&quot;Evaluator&quot;&gt;
      &lt;object type=&quot;log4net.spi.LevelEvaluator&quot;&gt;
        &lt;constructor&gt;
          &lt;param type=&quot;log4net.spi.Level&quot; 
value=&quot;DEBUG&quot;/&gt;
        &lt;/constructor&gt;
      &lt;/object&gt;
    &lt;/param&gt;
  &lt;/appender&gt;</pre></div>
                                                <p>
                                                        becomes:
                                                </p>
                                                <div class="syntax"><pre 
class="code">
  &lt;appender&gt;
    &lt;evaluator type=&quot;log4net.spi.LevelEvaluator&quot;&gt;
      &lt;threshold value=&quot;DEBUG&quot;/&gt;
    &lt;/evaluator&gt;
  &lt;/appender&gt;</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>
  
                        <section 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 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 &lt;param&gt; 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 name="1.2.0 Beta 3">
                                <ul>
                                        <li>
                                                <h3>Added log4net.Ext.Trace 
extension</h3>
                                                <p>This is a separate assembly 
that adds a trace level to log4net.</p>
                                        </li>
                                        <li>
                                                <h3>The default log file output 
directory is now the application base directory not 
                                                        the current 
directory</h3>
                                        </li>
                                        <li>
                                                <h3>Added MemoryAppender</h3>
                                                <p>Stores all the logging 
events in an in-memory buffer.</p>
                                        </li>
                                        <li>
                                                <h3>Moved the Hierarchy 
implementation into a separate namespace</h3>
                                                <p>
                                                        The <span 
class="code">log4net.Repository.Hierarchy</span> namespace now contains all the 
                                                        code that is specific 
to the <span class="code">Hierarchy</span> implementation.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Refactored the 
DOMConfigurator and BasicConfigurator</h3>
                                                <p>
                                                        The <span 
class="code">Hierarchy</span> specific data schema and implementation could be 
has 
                                                        now been moved to the 
<span class="code">log4net.Repository.Hierarchy</span> namespace. The 
                                                        bootstrap code for 
these configurators remains in the <span class="code">log4net.Config</span>
                                                        namespace.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Replaced the 
DOMConfiguratorAttribute UseExecutableDomain
                                                        property with 
UseDefaultDomain</h3>
                                                <p>
                                                        This change to the 
implementation of the <span class="code">DOMConfiguratorAttribute</span> should 
                                                        allow the configuration 
of multiple assemblies to be accomplished more easily, 
                                                        especially when 
developing web applications (ASP.NET).
                                                </p>
                                        </li>
                                        <li>
                                                <h3>A few good bug fixes!</h3>
                                        </li>
                                </ul>
                        </section>
  
                        <section name="1.2.0 Beta 2">
                                <ul>
                                        <li>
                                                <h3>Added ADONetAppender</h3>
                                                <p>Thanks to 
TechnologyOneCorp.com.</p>
                                        </li>
                                        <li>
                                                <h3>Added TraceLogAssembly 
extensibility example</h3>
                                        </li>
                                        <li>
                                                <h3>Lots of bug fixes</h3>
                                        </li>
                                </ul>
                        </section>
  
                        <section name="1.2.0 Beta 1">
                                <ul>
                                        <li>
                                                <h3>Added 6 new examples</h3>
                                        </li>
                                        <li>
                                                <h3>Split Category class into 
Logger and LogManager classes</h3>
                                                <p>
                                                        The instance methods 
from <span class="code">Category</span> have moved to the <span 
class="code">Logger</span>
                                                        class. The static 
methods from <span class="code">Category</span> have moved to the <span 
class="code">LogManager</span>
                                                        class. The <span 
class="code">Category</span> class still exists but for backward 
                                                        compatibility only. 
Changed interface <span class="code">ICategoryFactory</span> to <span 
class="code">ILoggerFactory</span>
                                                        and the implementation 
class <span class="code">DefaultCategoryFactory</span> to <span 
class="code">DefaultLoggerFactory</span>.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Replaced Priority class 
with Level class</h3>
                                                <p>
                                                        The <span 
class="code">Priority</span> class has been replaced by the <span 
class="code">Level</span> class. 
                                                        The <span 
class="code">Priority</span> class still exists for backward compatibility 
only. 
                                                        The <span 
class="code">Level</span> class implements a static pool of <span 
class="code">Level</span> objects. 
                                                        The <span 
class="code">Level</span> class is sealed and serializable.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added ILoggerRepository 
interface implemented by Hierarchy</h3>
                                                <p>
                                                        The <span 
class="code">Hierarchy</span> class implements the <span 
class="code">ILoggerRepository</span> interface. 
                                                        This interface is used 
by the <span class="code">LogManager</span> class and therefore 
                                                        allows different 
implementations of <span class="code">ILoggerRepository</span> to be used.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Enhanced NUnit tests</h3>
                                                <p>
                                                        All the NUnit tests can 
be run using a single TestSuite: NUnitGUI 
                                                        
log4net.LogManager+AllTests,log4net.dll.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added support for 
serializing LoggingEvents</h3>
                                                <p>
                                                        The <span 
class="code">LoggingEvent</span> class is serializable. All local state is 
                                                        captured before 
serialization occurs. This now allows <span class="code">LoggingEvent</span> 
                                                        objects to be 
serialised between applications or machines.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added RemotingAppender</h3>
                                                <p>
                                                        Delivers <span 
class="code">LoggingEvents</span> to a remote interface. This can be used to 
                                                        collect distributed 
logging into a single log file. There is an example 
                                                        remoting sink that 
receives the logging events, see <span 
class="code">examples\net\remoting\RemotingServer</span>
                                                        for details.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added support for rendering 
composite objects</h3>
                                                <p>
                                                        The <span 
class="code">IObjectRenderer</span> interface method <span 
class="code">DoRender</span> now 
                                                        takes a <span 
class="code">RendererMap</span> argument. This allows the renderer to use the 
                                                        appropriate renderer 
from the <span class="code">RendererMap</span> to render any nested 
                                                        objects.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added support for rendering 
exceptions</h3>
                                                <p>
                                                        The <span 
class="code">DefaultRenderer</span> now has support for rendering exceptions to 
a 
                                                        string. This includes 
nested exceptions. The <span class="code">RendererMap</span> is now 
                                                        used to render 
exceptions in the <span class="code">LoggingEvent</span>. This allows the 
                                                        rendering of specific 
exceptions to be enhanced by specific renderers.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added 
ITriggeringEventEvaluator interface</h3>
                                                <p>
                                                        This interface is used 
by <span class="code">SMTPAppender</span> and <span 
class="code">RemotingAppender</span>
                                                        to determine if a <span 
class="code">LoggingEvent</span> meets a set of user defined 
                                                        criteria. These 
appenders use the interface to determine whether or not to 
                                                        deliver the current 
buffer of events to their listener. The interface is 
                                                        implemented by the 
<span class="code">LevelEvaluator</span> class, which triggers above a 
                                                        set level.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added regex matching to the 
MDCFilter, NDCFilter and StringMatchFilter</h3>
                                                <p>
                                                        The <span 
class="code">MDCFilter</span>, <span class="code">NDCFilter</span> and <span 
class="code">StringMatchFilter</span>
                                                        can now be configured 
to use regex matches in addition to substring matches. 
                                                        Set the <span 
class="code">RegexToMatch</span> property to use this feature.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added XMLLayout</h3>
                                                <p>
                                                        emits an XML element 
for each <span class="code">LoggingEvent</span>. This allows logging 
                                                        events to be stored and 
manipulated as XML. The DTD for the XML emitted is in 
                                                        the <span 
class="code">log4net-events.dtd</span>
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added support for 
&lt;logger&gt; and &lt;level&gt; elements in the 
                                                        DOMConfigurator</h3>
                                                <p>
                                                        As the <span 
class="code">Category</span> and <span class="code">Priority</span> classes 
have been 
                                                        replaced by the <span 
class="code">Logger</span> and <span class="code">Level</span> classes. The 
<span class="code">DOMConfigurator</span>
                                                        has been updated to 
allow the <span class="code">&lt;logger&gt;</span> and <span 
class="code">&lt;level&gt;</span>
                                                        elements to be used in 
place of the <span class="code">&lt;category&gt;</span> and <span 
class="code">&lt;priority&gt;</span>
                                                        elements. The old 
elements are still accepted for backward compatibility.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added Threshold property to 
Hierarchy</h3>
                                                <p>
                                                        Changed <span 
class="code">DisableXXX()</span> methods on <span class="code">Hierarchy</span> 
to a <span class="code">Threshold</span>
                                                        property.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>Added support for logging 
domains</h3>
                                                <p>
                                                        The <span 
class="code">LogManager</span> supports multiple logging domains. The <span 
class="code">LogManager</span>
                                                        uses an instance of the 
<span class="code">IRepositorySelector</span> class to map from 
                                                        domains to <span 
class="code">ILoggerRepository</span> instances. The default implementation 
                                                        is to have a separate 
<span class="code">ILoggerRepository</span> for each domain. When a 
                                                        call is made to the 
static methods on <span class="code">LogManager</span> the domain can be 
                                                        specified (as a string) 
or the domain can be inferred automatically from the 
                                                        calling assembly. The 
default behaviour is for each assembly loaded into the 
                                                        process to have its own 
domain and <span class="code">ILoggerRepository</span>. These can 
                                                        each be configured 
separately. This allows standalone assemblies to use log4net 
                                                        without conflicting 
with other modules in the process. The domain for the 
                                                        assembly is configured 
using metadata attributes defined on the assembly.
                                                </p>
                                        </li>
                                        <li>
                                                <h3>DOMConfigurator can set 
params to arbitrary objects</h3>
                                                <p>
                                                        Using a new <span 
class="code">&lt;object&gt;</span> element, params can now be set to any 
                                                        creatable object.
                                                </p>
                                        </li>
                                </ul>
                        </section>
                        
                </section>
        </body>
  </document>
  
  
  

Reply via email to