You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by da...@apache.org on 2020/08/27 06:56:39 UTC
svn commit: r1064832 [20/21] - in
/websites/production/logging/content/log4net/log4net-2.0.9: ./ css/ images/
img/ js/ release/ release/howto/ release/manual/
Added: websites/production/logging/content/log4net/log4net-2.0.9/release/release-notes.html
==============================================================================
--- websites/production/logging/content/log4net/log4net-2.0.9/release/release-notes.html (added)
+++ websites/production/logging/content/log4net/log4net-2.0.9/release/release-notes.html Thu Aug 27 06:56:38 2020
@@ -0,0 +1,2753 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!-- Generated by Apache Maven Doxia at 2020-08-26 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Apache log4net – Apache log4net: Release Notes - Apache log4net</title>
+ <link rel="stylesheet" href="../css/bootstrap.min.css" type="text/css" />
+ <link rel="stylesheet" href="../css/site.css" type="text/css" />
+ <script type="text/javascript" src="../js/jquery.min.js"></script>
+ <script type="text/javascript" src="../js/bootstrap.min.js"></script>
+ <script type="text/javascript" src="../js/prettify.min.js"></script>
+ <script type="text/javascript" src="../js/site.js"></script>
+ <meta name="author" content="Nicko Cadell" />
+ <meta name="Date-Revision-yyyymmdd" content="20200826" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="keywords" content="log4net release notes, log4net" />
+ </head>
+ <body class="composite">
+ <a href="https://logging.apache.org/">
+ <img class="logo-left" src="../images/ls-logo.jpg" alt="Apache logging services logo" />
+ </a>
+ <!--img class="logo-right" src="../images/logo.png" alt="Apache log4net logo" /-->
+ <div class="clear"></div>
+
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container-fluid">
+ <a class="brand" href="http://logging.apache.org/log4net/">Apache log4net ™</a>
+ <ul class="nav">
+ <li>
+
+
+ <a href="https://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
+ </li>
+ <li>
+
+
+ <a href="https://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
+ </li>
+ <li>
+
+
+ <a href="https://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
+ </li>
+ <li>
+
+
+ <a href="https://github.com/apache/logging-log4net/" class="external" target="_blank" title="GitHub">GitHub</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ <div class="container-fluid">
+ <table class="layout-table">
+ <tr>
+ <td class="sidebar">
+ <div class="well sidebar-nav">
+ <ul class="nav nav-list">
+ <li class="nav-header"><i class="icon-home"></i>Apache log4net</li>
+ <li class="none">
+ <a href="../index.html" title="About">About</a>
+ </li>
+ <li class="none">
+ <a href="../download_log4net.cgi" title="Download">Download</a>
+ </li>
+ <li class="none">
+ <a href="../release/security-reports.html" title="Security Reports">Security Reports</a>
+ </li>
+ <li class="none active">
+ <a href="../release/release-notes.html" title="Release Notes">Release Notes</a>
+ </li>
+ <li class="none">
+ <a href="../license.html" title="License">License</a>
+ </li>
+ </ul>
+ <ul class="nav nav-list">
+ <li class="nav-header"><i class="icon-file"></i>Documentation</li>
+ <li class="none">
+ <a href="../release/features.html" title="Features">Features</a>
+ </li>
+ <li class="none">
+ <a href="../release/framework-support.html" title="Supported Frameworks">Supported Frameworks</a>
+ </li>
+ <li class="none">
+ <a href="../release/example-apps.html" title="Example Apps">Example Apps</a>
+ </li>
+ <li class="none">
+ <a href="../release/config-examples.html" title="Config Examples">Config Examples</a>
+ </li>
+ <li class="none">
+ <a href="../release/building.html" title="Building">Building</a>
+ </li>
+ <li class="none">
+ <a href="../release/faq.html" title="FAQ">FAQ</a>
+ </li>
+ <li class="none">
+ <a href="../release/howto/index.html" title="How Tos">How Tos</a>
+ </li>
+ <li class="none">
+ <a href="../release/sdk/index.html" title="SDK Reference">SDK Reference</a>
+ </li>
+ </ul>
+ <ul class="nav nav-list">
+ <li class="nav-header"><i class="icon-book"></i>Manual</li>
+ <li class="none">
+ <a href="../release/manual/introduction.html" title="Introduction">Introduction</a>
+ </li>
+ <li class="none">
+ <a href="../release/manual/configuration.html" title="Configuration">Configuration</a>
+ </li>
+ <li class="none">
+ <a href="../release/manual/contexts.html" title="Contexts">Contexts</a>
+ </li>
+ <li class="none">
+ <a href="../release/manual/plugins.html" title="Plugins">Plugins</a>
+ </li>
+ <li class="none">
+ <a href="../release/manual/repositories.html" title="Repositories">Repositories</a>
+ </li>
+ <li class="none">
+ <a href="../release/manual/internals.html" title="Internals">Internals</a>
+ </li>
+ </ul>
+ <ul class="nav nav-list">
+ <li class="nav-header"><i class="icon-pencil"></i>For Contributors</li>
+ <li class="none">
+ <a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+ </li>
+ <li class="none">
+ <a href="../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+ </li>
+ <li class="none">
+ <a href="../source-repository.html" title="Repository">Repository</a>
+ </li>
+ <li class="none">
+ <a href="../integration.html" title="Continuous Integration">Continuous Integration</a>
+ </li>
+ </ul>
+ <ul class="nav nav-list">
+ <li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
+ <li class="none">
+ <a href="../rat-report.html" title="RAT Report">RAT Report</a>
+ </li>
+ </ul>
+ <ul class="nav nav-list">
+ <li class="nav-header"><i class="icon-info-sign"></i>Apache</li>
+ <li class="none">
+
+
+ <a href="http://www.apache.org/" class="external" target="_blank" title="Home">Home</a>
+ </li>
+ <li class="none">
+
+
+ <a href="http://www.apache.org/licenses/" class="external" target="_blank" title="License">License</a>
+ </li>
+ <li class="none">
+
+
+ <a href="http://www.apache.org/foundation/sponsorship.html" class="external" target="_blank" title="Sponsorship">Sponsorship</a>
+ </li>
+ <li class="none">
+
+
+ <a href="http://www.apache.org/foundation/thanks.html" class="external" target="_blank" title="Thanks">Thanks</a>
+ </li>
+ <li class="none">
+
+
+ <a href="http://www.apache.org/security/" class="external" target="_blank" title="Security">Security</a>
+ </li>
+ <li class="none">
+
+
+ <a href="http://www.apachecon.com" class="external" target="_blank" title="Conferences">Conferences</a>
+ </li>
+ </ul>
+ </div>
+ <div id="poweredBy">
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="poweredBy" alt="Built by Maven" src="../images/maven-feather.png" />
+ </a>
+ </div>
+ </td>
+ <td class="content">
+ <!-- Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you 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. -->
+
+
+
+ <a name="main"></a>
+<div class="section" id="main">
+<h2><a name="Apache_log4net_Release_Notes"></a>Apache log4net™ Release Notes</h2>
+
+ <a name="a2.0.9"></a>
+<div class="section" id="2.0.9">
+<h2><a name="a2.0.9"></a>2.0.9</h2>
+
+<p>
+ Apache log4net 2.0.9 adds <tt>netstandard2.0</tt> support
+ and restructures the project to enable easier build as well as build
+ at AppVeyer. Project files have been updated to the modern Sdk format.
+ </p>
+ <a name="a2.0.9-bug"></a>
+<div class="section" id="2.0.9-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-559">LOG4NET-559</a>] Add null checkes to avoid issues thrown by custom appenders</li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-563">LOG4NET-563</a>] Site styling copied from log4j</li>
+ </ul>
+ </div>
+ </div>
+ <a name="a2.0.8"></a>
+<div class="section" id="2.0.8">
+<h2><a name="a2.0.8"></a>2.0.8</h2>
+
+<p>
+ Apache log4net 2.0.8 fixes a
+ <tt>LockRecursionException</tt>
+ that could happen
+ inside the <tt>FileAppender</tt> under certain
+ circumstances. It also adds support for
+ <tt>LogicalThreadContext</tt>
+ to the .NET Standard
+ build based on <tt>AsyncLocal</tt> rather than
+ <tt>CallContext</tt>.
+ </p>
+
+ <a name="a2.0.8-bug"></a>
+<div class="section" id="2.0.8-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-466">LOG4NET-466</a>] - "LockRecursionException:
+ A read lock may not be acquired with the write lock held in this mode." exception
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-550">LOG4NET-550</a>] - Logging
+ recursively from an Appender not supported for NET_4_0 and MONO_4_0
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-551">LOG4NET-551</a>] -
+ LockRecursionException when using File Appenders
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-554">LOG4NET-554</a>] -
+ LogicalThreadContext was removed in .NETStandard
+ </li>
+ </ul>
+ </div>
+
+ <a name="a2.0.8-new"></a>
+<div class="section" id="2.0.8-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-553">LOG4NET-553</a>] -
+ DebugAppender
+ configuration should give the possibility to disable outputting loggerName as category
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <a name="a2.0.7"></a>
+<div class="section" id="2.0.7">
+<h2><a name="a2.0.7"></a>2.0.7</h2>
+
+<p>
+ Apache log4net 2.0.7 fixes a glitch in nuget packaging and
+ is otherwise identical to 2.0.6 (apart from the copyright
+ year and assembly version). If you are not using the nuget
+ package there is no reason to upgrade.
+ </p>
+
+ <a name="a2.0.7-bug"></a>
+<div class="section" id="2.0.7-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-540">LOG4NET-540</a>] - nuget
+ dependencies for .NET Standard leak into net46
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <a name="a2.0.6"></a>
+<div class="section" id="2.0.6">
+<h2><a name="a2.0.6"></a>2.0.6</h2>
+
+
+<p>
+ The Apache log4net team is now responsible for the nuget
+ package, we've changed the version number of this release
+ to align the version numbers. Release 2.0.6 is supposed to
+ be compatible with 1.2.15.
+ </p>
+
+
+<p>
+ The binary distributions no longer contain assemblies
+ built for the .NET Framework 1.x or Mono 1.x - you can
+ build those yourself using the source distribution.
+ </p>
+
+
+<p>
+ Starting with 2.0.6 .NET Core - or more precisely
+ .NET Standard 1.3 - has become a supported platform. Please
+ note that several features of log4net are not available
+ when using the .NET Core version, see <a href="framework-support.html#netstandard-1.3">framework
+ support
+ </a> for details.
+ </p>
+
+ <a name="a2.0.6-bug"></a>
+<div class="section" id="2.0.6-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-508">LOG4NET-508</a>] - NAnt release
+ build is not optimized
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-512">LOG4NET-512</a>] - Thread
+ safety
+ issue in Hierarchy.cs
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-527">LOG4NET-527</a>] - broken link
+ on
+ config-examples.html
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-529">LOG4NET-529</a>] - Possible
+ thread-safety bug in LoggingEvent
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-536">LOG4NET-536</a>] - Can't
+ build
+ for NETCF-2.0
+ </li>
+ </ul>
+ </div>
+ <a name="a2.0.6-enh"></a>
+<div class="section" id="2.0.6-enh">
+<h2><a name="Improvements"></a>Improvements</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-530">LOG4NET-530</a>] - Use UTC
+ internally to avoid ambiguous timestamps
+ </li>
+ </ul>
+ </div>
+
+ <a name="a2.0.6-new"></a>
+<div class="section" id="2.0.6-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-467">LOG4NET-467</a>] - Is .NET
+ Core,
+ will be supported in the near future, or not
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-511">LOG4NET-511</a>] - API to flush
+ appenders
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-526">LOG4NET-526</a>] - Add
+ appSetting
+ conversion pattern to PatternString
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <a name="a1.2.15"></a>
+<div class="section" id="1.2.15">
+<h2><a name="a1.2.15"></a>1.2.15</h2>
+ <a name="a1.2.15-bug"></a>
+<div class="section" id="1.2.15-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-462">LOG4NET-462</a>] -
+ ReadOnlyPropertiesDictionary not thread safe
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-488">LOG4NET-488</a>] - Fix tests
+ build
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-489">LOG4NET-489</a>] -
+ AdoNetAppender
+ fails after upgrade to 2.0.4
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-490">LOG4NET-490</a>] -
+ InterProcessLock
+ Tests fail
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-493">LOG4NET-493</a>] - Log4net
+ 1.2.14/ADO.NET appender throws exception when starting (1.2.13 with same config works fine)
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-494">LOG4NET-494</a>] -
+ ArgumentOutOfRange with SQLite
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-495">LOG4NET-495</a>] - Error when
+ BufferSize is >1, parameter already defined
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <a name="a1.2.14"></a>
+<div class="section" id="1.2.14">
+<h2><a name="a1.2.14"></a>1.2.14</h2>
+ <a name="a1.2.14-bug"></a>
+<div class="section" id="1.2.14-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-408">LOG4NET-408</a>] - Correction
+ on
+ InterProcessLock
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-443">LOG4NET-443</a>] -
+ Logger.CallAppenders
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-447">LOG4NET-447</a>] -
+ MemoryAppender
+ class is not thread safe
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-455">LOG4NET-455</a>] -
+ LogicalThreadContext does not flow correctly through async/await
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-479">LOG4NET-479</a>] - Cannot
+ compile
+ log4net.vs2008
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-484">LOG4NET-484</a>] -
+ System.ObjectDisposedException with FileAppender+InterProcessLock
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-485">LOG4NET-485</a>] -
+ RollingFileAppender cannot be used by multiple process
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-486">LOG4NET-486</a>] - Rolling File
+ Appender with 'maxSizeRollBackups' and 'datePattern' does not detect
+ existing
+ logs initially
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.14-enh"></a>
+<div class="section" id="1.2.14-enh">
+<h2><a name="Improvements"></a>Improvements</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-456">LOG4NET-456</a>] - Include
+ debug
+ symbol files in release packages
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-457">LOG4NET-457</a>] - SMTP
+ Appender
+ should trim leading and trailing separators from address fields
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.14-new"></a>
+<div class="section" id="1.2.14-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-473">LOG4NET-473</a>] - Option for
+ file
+ extension in SmtpPickupDirAppender
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <a name="a1.2.13"></a>
+<div class="section" id="1.2.13">
+<h2><a name="a1.2.13"></a>1.2.13</h2>
+
+ <a name="a1.2.13-bug"></a>
+<div class="section" id="1.2.13-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-132">LOG4NET-132</a>] - Environment
+ variables are mistakenly case sensitive on windows
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-376">LOG4NET-376</a>] - Race
+ condition
+ in AbsoluteTimeDateFormatter
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-393">LOG4NET-393</a>] - Using
+ dynamic
+ methods with log4net causes NullReferenceException in StackFrameItem
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-399">LOG4NET-399</a>] - Does not
+ build
+ for Compact Framework 2.0
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-404">LOG4NET-404</a>] - assemblies
+ for
+ .NET 3.5 are missing ILogExtensions
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-405">LOG4NET-405</a>] - SmtpAppender
+ encoding changes
+ </li>
+ </ul>
+
+ </div>
+
+ <a name="a1.2.13-enh"></a>
+<div class="section" id="1.2.13-enh">
+<h2><a name="Improvements"></a>Improvements</h2>
+
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-394">LOG4NET-394</a>] - Lambda-based
+ ILog-Extensions should catch errors
+ </li>
+ </ul>
+
+ </div>
+ </div>
+
+ <a name="a1.2.12"></a>
+<div class="section" id="1.2.12">
+<h2><a name="a1.2.12"></a>1.2.12</h2>
+
+
+<p>
+ The binary distributions no longer contain assemblies
+ built for the Compact Framework 2.0 - you can build
+ those yourself using the source distribution.
+ </p>
+
+ <a name="a1.2.12-bug"></a>
+<div class="section" id="1.2.12-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-148">LOG4NET-148</a>] -
+ ThreadContext
+ uses LocalDataStore to store ThreadSpecific data instead should be using [ThreadStatic]
+ variables.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-178">LOG4NET-178</a>] - Log4Net
+ stops
+ logging after appdomain recycle of ASP.NET2.0 application
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-202">LOG4NET-202</a>] -
+ AdoNetAppenderParameter.Size Property is not optional
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-218">LOG4NET-218</a>] - Test
+ StringFormatTest.TestFormatString fails
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-220">LOG4NET-220</a>] - multiple
+ users
+ overwrite existing log file when RollingFileAppender is rolling over date and minimal
+ locking is
+ used
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-228">LOG4NET-228</a>] -
+ log4net.Util.HostName may throw System.Configuration.ConfigurationErrorsException in
+ System.Net.Dns.GetHostName(). The exception should be ignored.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-266">LOG4NET-266</a>] -
+ AdoNetAppender
+ does not work on a IIS 7 website using Windows authentication
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-277">LOG4NET-277</a>] - Registering
+ a
+ custom Object Renderer in configuration file
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-284">LOG4NET-284</a>] - In a
+ multithreaded application, duplicate messages are output.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-294">LOG4NET-294</a>] - Exception
+ rendering object type [System.OutOfMemoryException]
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-317">LOG4NET-317</a>] -
+ LogicalThreadContext sometimes doesn't follow CallContext's logical thread
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-322">LOG4NET-322</a>] - Conditional
+ compilation symbols for .net4 Release
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-323">LOG4NET-323</a>] -
+ AbsoluteTimeDateFormatter caches string representation of now too aggressively
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-331">LOG4NET-331</a>] -
+ AdoNetAppender
+ errors when writing Asp.net item when Request object is null
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-335">LOG4NET-335</a>] - Lost the
+ ability
+ to monitor changes to logger config files when you call ConfigureAndWatch multiple times
+ with
+ different Config File Names - worked fine on 1.2.10.0
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-341">LOG4NET-341</a>] -
+ RemotingAppender
+ Error
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-343">LOG4NET-343</a>] -
+ ArgumentOutOfRangeException in log4net hierarchy on "." logger name
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-347">LOG4NET-347</a>] - Log4net not
+ working in an ASP.Net environment with medium trust
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-348">LOG4NET-348</a>] -
+ System.IndexOutOfRangeException when StackFrameLevel is greater then StackFrames length
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-352">LOG4NET-352</a>] - CS0419
+ during
+ build with Mono >2.6
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-360">LOG4NET-360</a>] -
+ EventLogAppender
+ can corrupt the event log on Windows Vista and higher if the string is longer than 31839
+ bytes
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-361">LOG4NET-361</a>] -
+ RollingLogFileAppender does not correctly initialize the backup index when style is date or
+ composite
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-369">LOG4NET-369</a>] -
+ preserveLogFileNameExtension is not considered when rolling over time after an application
+ restart
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-370">LOG4NET-370</a>] -
+ RemoteSyslogAppender doesn't properly handle newline in log message
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-371">LOG4NET-371</a>] - Log with
+ formatting doesn't call custom renderers (IObjectRenderer)
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-375">LOG4NET-375</a>] - typo /
+ misspelling in log message
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-378">LOG4NET-378</a>] - Rolling log
+ file
+ is overwritten when application is restarted
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-379">LOG4NET-379</a>] -
+ NullReferenceException in FileAppender when file is not filled.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-382">LOG4NET-382</a>] -
+ TargetInvocationException occurs because MESSAGE_SIZE fields in EventLogAppender are
+ initialized
+ in wrong order
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.12-enh"></a>
+<div class="section" id="1.2.12-enh">
+<h2><a name="Improvements"></a>Improvements</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-222">LOG4NET-222</a>] - [PATCH]
+ Improve
+ AnsiColorTerminalAppender to support marking colors as Light
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-223">LOG4NET-223</a>] - [PATCH]
+ Improve
+ AnsiColorTerminalAppender to support marking colors as Light
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-232">LOG4NET-232</a>] - Use
+ ReaderWriterLockSlim instead of ReaderWriterLock.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-259">LOG4NET-259</a>] - Log4Net does
+ not
+ create a new tab in Chainsaw
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-283">LOG4NET-283</a>] -
+ OnlyOnceErrorHandler is not subclass-friendly
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-292">LOG4NET-292</a>] - Managed
+ ColoredConsoleAppender for .NET2/Mono.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-315">LOG4NET-315</a>] - SmtpAppender
+ -
+ Add support for ignoring certificate errors
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-316">LOG4NET-316</a>] - Provide a
+ Layout
+ Pattern that is re-evaluated on each use
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-318">LOG4NET-318</a>] - log4net
+ doesn't
+ pass verification
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-334">LOG4NET-334</a>] - Appender
+ Faill
+ over
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-354">LOG4NET-354</a>] - E-mail
+ encoding
+ configuration setting for SmtpAppender
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-362">LOG4NET-362</a>] - [PATCH]
+ SystemInfo.AssemblyLocationInfo throws unhandled ArgumentException "Absolute path
+ required"
+ when exe is started via UNC path
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-386">LOG4NET-386</a>] - Can't
+ access
+ ThreadContext properties
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.12-new"></a>
+<div class="section" id="1.2.12-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-290">LOG4NET-290</a>] - Add
+ Lambda-based
+ ILog-Extensions (embedded log.IsEnabled)
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-342">LOG4NET-342</a>] - Add a way to
+ prevent silent failure
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <a name="a1.2.11"></a>
+<div class="section" id="1.2.11">
+<h2><a name="a1.2.11"></a>1.2.11</h2>
+
+<p>
+ log4net 1.2.11 is not only a bugfix release, it also
+ adds support for Microsoft® .NET 4.0 as well as the client profiles
+ of .NET 3.5 and .NET 4.0.
+ </p>
+
+
+<p>
+ Starting with this release log4net uses a new strong
+ name key but we also provide a binary distribution using
+ the "old" strong name key of log4net 1.2.10 and earlier.
+ See <a href="faq.html#two-snks">the FAQ</a> for details.
+ </p>
+
+
+<p>
+ The binary distributions no longer contain assemblies
+ built for the Compact Framework 1.0 or the Shared Source
+ CLI - you can build those yourself using the source
+ distribution.
+ </p>
+
+ <a name="a1.2.11-breaking"></a>
+<div class="section" id="1.2.11-breaking">
+<h2><a name="Breaking_Changes"></a>Breaking Changes</h2>
+
+<p>
+ The signature of
+ <tt>ILoggerFactory.CreateLogger</tt>
+ has changed.
+ </p>
+ </div>
+
+ <a name="a1.2.11-bug"></a>
+<div class="section" id="1.2.11-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-76">LOG4NET-76</a>] -
+ TextWriterAdapter
+ is not thread safe
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-79">LOG4NET-79</a>] -
+ SecurityException
+ thrown in LogicalThreadContextProperties GetProperties
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-81">LOG4NET-81</a>] -
+ LoggerRepositorySkeleton's OnConfigurationChanged method always raises its event with
+ EventArgs.Empty instead of passing through its EventArgs parameter.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-93">LOG4NET-93</a>] - Typos for node
+ name in tutorial, excess quote, invalid XML
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-94">LOG4NET-94</a>] - Incorrect
+ config
+ file for ..\examples\net\1.0\Tutorials\ConsoleApp
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-95">LOG4NET-95</a>] -
+ Level.CompareTo()
+ may result a wrong Value -> sorting of Levels does not work
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-113">LOG4NET-113</a>] -
+ SystemInfo.GetTypeFromString() raises NotSupportedException
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-123">LOG4NET-123</a>] -
+ EnvironmentPatternConverter does not expand User or System level environment variables under
+ Windows
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-126">LOG4NET-126</a>] - Links on the
+ log4net Examples page do not work, including the overview link explaining why the other
+ links do
+ not work
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-128">LOG4NET-128</a>] - Either
+ documentation is incorrect or a bug in SmtpAppender
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-129">LOG4NET-129</a>] -
+ EventLogAppender
+ EventID parsing does not handle Active Properties properly
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-135">LOG4NET-135</a>] - Bad example
+ code
+ in documentation
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-137">LOG4NET-137</a>] -
+ log4net.Filter.LevelMatchFilter does not work anymore
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-143">LOG4NET-143</a>] - Invalid
+ Repository Config Uri composition from "log4net.Config" application setting
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-146">LOG4NET-146</a>] -
+ System.NullReferenceException on FindAndRender object
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-158">LOG4NET-158</a>] -
+ XMLConfigurator.ConfigureAndWatch() leaks resources if called multiple times
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-167">LOG4NET-167</a>] -
+ ArrayOutOfBounds
+ Exception in MemoryAppender.getEvents()
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-212">LOG4NET-212</a>] - Threading
+ bug in
+ the PatternConverter.cs
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-214">LOG4NET-214</a>] -
+ EventLogAppender
+ should also use config file to set EventId
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-215">LOG4NET-215</a>] - Exception on
+ Convert for return %class{1} name
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-229">LOG4NET-229</a>] - Japanese
+ characters get garbled with log4net.Layout.XmlLayoutSchemaLog4j
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-241">LOG4NET-241</a>] - Issue
+ tracking
+ page does not link to project
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-242">LOG4NET-242</a>] - Download
+ page
+ does not have link to KEYS file
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-243">LOG4NET-243</a>] - broken link
+ on
+ http://logging.apache.org/log4net/release/example-apps.html
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-244">LOG4NET-244</a>] -
+ SmtpAppender.To
+ Property has incorrect delimiter
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-257">LOG4NET-257</a>] - Visual
+ Studio
+ 2010 .NET 4.0 Application does not copy log4net lib to bin directory
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-265">LOG4NET-265</a>] -
+ RemoteFileAppender Tests fail on Windows 7
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-274">LOG4NET-274</a>] - log4net
+ doesn't
+ log when running a .Net 4.0 Windows application built in Release mode
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-297">LOG4NET-297</a>] -
+ AppenderSkeleton.RequiresLayout docs and implementation don't match
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-300">LOG4NET-300</a>] - FilterTest
+ doesn't
+ compile for .Net 2.0
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-301">LOG4NET-301</a>] - Unit tests
+ fail
+ on a clean checkout on .NET 2.0 using NAnt
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-310">LOG4NET-310</a>] -
+ EventLogAppender's
+ ActivateOptions throws SecurityException on Vista/Win2k3 and later when not run as
+ administrator
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-311">LOG4NET-311</a>] - MinimalLock
+ and
+ AppendToFile=false don't work together in trunk's FileAppender
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.11-enh"></a>
+<div class="section" id="1.2.11-enh">
+<h2><a name="Improvements"></a>Improvements</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-31">LOG4NET-31</a>] - Allow user to
+ pass
+ in additional parameters to <converter> node via some kind of <property> tag
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-38">LOG4NET-38</a>] -
+ EventLogAppender:
+ Add support for setting the Category on Event Log messages.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-66">LOG4NET-66</a>] -
+ PreserveFileExtension with StaticFileName
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-77">LOG4NET-77</a>] - A small
+ improvement of log4net.Layout.Pattern.ExceptionPatternConverter - added 'Option'
+ propery
+ support
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-88">LOG4NET-88</a>] - support .NET
+ 2.0
+ connectionStrings configuration section
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-96">LOG4NET-96</a>] - Expose the
+ Message, Exception, and ErrorCode properties of OnlyOnceErrorHandler.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-97">LOG4NET-97</a>] - Make Hierarchy's
+ ILoggerFactory aware of the repository's LevelMap
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-98">LOG4NET-98</a>] - Update header
+ comment in files to be compliant with new Apache header requirements:
+ http://www.apache.org/legal/src-headers.html for 11/1/2006 deadline
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-100">LOG4NET-100</a>] -
+ IPAddressConverter improvement for .NET 2 or .NET 3
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-106">LOG4NET-106</a>] -
+ TraceAppender :
+ Add switch to disable using logger name as trace category
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-112">LOG4NET-112</a>] - Add support
+ to
+ the UdpAppender for IP v6 remote addresses
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-131">LOG4NET-131</a>] - Add Cc and
+ Bcc
+ support to SmtpAppender
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-141">LOG4NET-141</a>] - Add
+ CreateConnection method to AdoNetAppender to allow subclasses to have control of
+ IDbConnection.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-153">LOG4NET-153</a>] - Make it
+ easier
+ to configure multiple appenders in code using BasicConfigurator
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-157">LOG4NET-157</a>] - FAQ for
+ getting
+ the fully-qualified name of a class
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-164">LOG4NET-164</a>] - using a
+ named
+ mutex for file appenders
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-170">LOG4NET-170</a>] -
+ Documentation
+ improvement re: fixing and active properties
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-246">LOG4NET-246</a>] - Make it
+ possible
+ to choose whether or not to watch configuration files specified using the "log4net.Config"
+ appsetting key
+ </li>
+ </ul>
+
+ </div>
+ <a name="a1.2.11-new"></a>
+<div class="section" id="1.2.11-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<ul>
+
+<li>The various static <tt>Configure</tt> methods of the <tt>Configurator</tt> classes
+ now
+ return collections of configuration messages rather than <tt>void</tt>.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-59">LOG4NET-59</a>] - add the
+ ability to
+ roll files based on universal time (UTC).
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-64">LOG4NET-64</a>] - add the
+ ability to
+ preserve the log file name extension when rolling the log file.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-87">LOG4NET-87</a>] - Support
+ ASP.Net
+ related PatternConverters to allow items from the HttpContext.Current.Session, Cache,
+ Request,
+ etc. to be captured.
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-92">LOG4NET-92</a>] - Build for
+ Compact Framework 2.0
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-107">LOG4NET-107</a>] - Added
+ ExceptionEvaluator
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-115">LOG4NET-115</a>] - Expand
+ UserAppDataPath in filename
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-116">LOG4NET-116</a>] - allow
+ smtp
+ to ssl authenticate and with certificates.
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-154">LOG4NET-154</a>] - Add a
+ StackTracePatternConverter to display method calls leading up to log message
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-155">LOG4NET-155</a>] - Add
+ TimeEvaluator
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-168">LOG4NET-168</a>] - New
+ property
+ ReplyTo address for the SmtpAppender required
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-176">LOG4NET-176</a>] -
+ Buildable
+ with VS 2008 and .NET FW 3.5
+ </li>
+
+<li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-233">LOG4NET-233</a>] - Support
+ .NET
+ 4.0 including Client Profile
+ </li>
+ </li>
+ </ul>
+ </div>
+
+ </div>
+
+ <a name="a1.2.10"></a>
+<div class="section" id="1.2.10">
+<h2><a name="a1.2.10"></a>1.2.10</h2>
+
+ <a name="a1.2.10-bug"></a>
+<div class="section" id="1.2.10-bug">
+<h2><a name="Bug_Fixes"></a>Bug Fixes</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-21">LOG4NET-21</a>] -
+ RemotingAppender
+ fails once NDC becomes empty
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-22">LOG4NET-22</a>] - XmlLayout
+ allows
+ output of invalid control characters
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-25">LOG4NET-25</a>] -
+ RollingFileAppender
+ can fail if RollOverIfDateBoundaryCrossing required
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-28">LOG4NET-28</a>] - AdoNetAppender
+ does
+ not support inserting NULL into columns
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-29">LOG4NET-29</a>] -
+ LevelMatchFilter
+ should return Neutral when no match is found
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-32">LOG4NET-32</a>] - AdoNetAppender
+ losing first entry
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-35">LOG4NET-35</a>] - Exception
+ rendering
+ ThreadContextStack if null value pushed into stack
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-41">LOG4NET-41</a>] -
+ RollingFileAppender
+ roll over date fail
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-42">LOG4NET-42</a>] - Serialised
+ LoggingEvent does not preserve the Fix flags
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-49">LOG4NET-49</a>] -
+ CountingQuietTextWriter does not count strings written with WriteLine
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-50">LOG4NET-50</a>] -
+ Process.StartTime
+ hangs on some systems
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-63">LOG4NET-63</a>] - 1.2.9.0
+ Documentation typos
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-65">LOG4NET-65</a>] - Unhandled
+ SecurityException exception for FileIOPermission while loading configuration file
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-67">LOG4NET-67</a>] - CVE-2006-0743
+ Security vulnerability in LocalSyslogAppender
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-70">LOG4NET-70</a>] - CoreDll.dll
+ referenced with different capitalisation
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-73">LOG4NET-73</a>] -
+ ADONetAppender.ActivateOptions() leaks database connection when called multiple times
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.10-new"></a>
+<div class="section" id="1.2.10-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-11">LOG4NET-11</a>] - Add Flush
+ command
+ to API
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-24">LOG4NET-24</a>] - Programmatic
+ flush
+ of BufferingAppenderSkeleton buffer
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-46">LOG4NET-46</a>] - Support
+ appenders
+ that can output multiple events efficiently
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-51">LOG4NET-51</a>] - WmiAppender
+ </li>
+ </ul>
+ </div>
+
+ <a name="a1.2.10-enh"></a>
+<div class="section" id="1.2.10-enh">
+<h2><a name="Improvements"></a>Improvements</h2>
+
+<ul>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-3">LOG4NET-3</a>] - Support per event
+ patterns in FileAppender File name
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-13">LOG4NET-13</a>] - Allow
+ SMTPAppender
+ to have replaceable parameters in Subject
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-15">LOG4NET-15</a>] - Email high
+ "importance" priority setting with SmtpAppender
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-17">LOG4NET-17</a>] - Line-wrapping
+ Appender Layouts
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" 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 class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-52">LOG4NET-52</a>] - Allow XML
+ configurator to set properties of type Object
+ </li>
+
+<li>[<a class="externalLink" 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 class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-56">LOG4NET-56</a>] - Support
+ rendering
+ IEnumerator objects as well as ICollections
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-58">LOG4NET-58</a>] - Support clean
+ build
+ on .NET 2.0
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-72">LOG4NET-72</a>] - Performance of
+ ILog.xxxFormat methods
+ </li>
+
+<li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-74">LOG4NET-74</a>] - Change
+ MemoryAppender member variables to protected
+ </li>
+ </ul>
+ </div>
+
+ </div>
+
+ <a name="a1.2.9"></a>
+<div class="section" id="1.2.9">
+<h2><a name="a1.2.9_Beta"></a>1.2.9 Beta</h2>
+
+ <a name="a1.2.9-breaking"></a>
+<div class="section" id="1.2.9-breaking">
+<h2><a name="Breaking_Changes"></a>Breaking Changes</h2>
+
+<div class="section">
+<h3><a name="Renamed_namespaces"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Renamed_config_classes_and_attributes"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Fixed_pascal_casing_of_type_names"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Layouts_changed_to_stream_their_output_to_a________________________TextWriter"></a>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>
+ </div>
+<div class="section">
+<h3><a name="C_style_string_escapes_no_longer_supported_by_config_parser"></a>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>
+ </div></div>
+
+ <a name="a1.2.9-new"></a>
+<div class="section" id="1.2.9-new">
+<h2><a name="New_Features"></a>New Features</h2>
+
+<div class="section">
+<h3><a name="New_CLI_build"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Logging_contexts"></a>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>
+ </div>
+<div class="section">
+<h3><a name="PatternLayout________________________customization_and_long_pattern_names"></a>
+ <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">
+
+<div>
+<pre class="code">
+ <layout type="log4net.Layout.PatternLayout">
+
+ <converter>
+ <name value="myConverter" />
+ <type value="TestApp.MyPatternConverter, TestApp" />
+ </converter>
+
+ <conversionPattern value="%-5level %logger - %myConverter - %message%newline" />
+ </layout>
+ </pre></div>
+ </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/html/T_log4net_Layout_PatternLayout.htm">
+ log4net.Layout.PatternLayout</a>.
+ </p>
+ </div>
+<div class="section">
+<h3><a name="PatternString________________________for_pattern_based_configuration"></a>
+ <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">
+
+<div>
+<pre class="code">
+ <file type="log4net.Util.PatternString">
+
+ <converter>
+ <name value="folder" />
+ <type value="TestApp.SpecialFolderPatternConverter,TestApp" />
+ </converter>
+
+ <conversionPattern value="%folder{LocalApplicationData}\log-file.txt" />
+ </file>
+ </pre></div>
+ </div>
+
+<p>
+ The code for the
+ <span class="code">SpecialFolderPatternConverter</span>
+ is as follows:
+ </p>
+
+<div class="syntax">
+
+<div>
+<pre class="code">
+ public class SpecialFolderPatternConverter : log4net.Util.PatternConverter
+ {
+ override protected void Convert(System.IO.TextWriter writer, object state)
+ {
+ Environment.SpecialFolder specialFolder =
+ (Environment.SpecialFolder)Enum.Parse(typeof(Environment.SpecialFolder), base.Option, true);
+
+ writer.Write(Environment.GetFolderPath(specialFolder));
+ }
+ }
+ </pre></div>
+ </div>
+
+<p>
+ For full details see the SDK Reference entry: <a href="sdk/html/T_log4net_Util_PatternString_htm">
+ log4net.Util.PatternString</a>.
+ </p>
+ </div>
+<div class="section">
+<h3><a name="Loading_configuration_from_a_URI"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Support_for_No-Touch_deployment"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Config_file_parser_enhancements"></a>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">
+
+<div>
+<pre class="code">
+ <layout type="log4net.Layout.PatternLayout" value="%message%newline"
+ />
+ </pre></div>
+ </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>
+ </div>
+<div class="section">
+<h3><a name="a.NET_string_formatting_syntax"></a>.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>
+ </div>
+<div class="section">
+<h3><a name="Customizable_levels"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Per-appender_security_contexts"></a>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>
+ </div>
+<div class="section">
+<h3><a name="Added_new_appenders"></a>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
[... 1008 lines stripped ...]