Added: logging/site/trunk/docs/log4net/src/release/release-notes.html URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4net/src/release/release-notes.html?view=auto&rev=559716 ============================================================================== --- logging/site/trunk/docs/log4net/src/release/release-notes.html (added) +++ logging/site/trunk/docs/log4net/src/release/release-notes.html Wed Jul 25 23:41:40 2007 @@ -0,0 +1,1257 @@ + + + + + + + + + + + + + + Apache log4net - + Apache log4net: Release Notes + + + + + + + + +
+ +
+
+
+ + + + + + + +

log4net Release Notes

+ + + +

1.2.10

+ +

Bug Fixes

+
    +
  • [LOG4NET-21] - RemotingAppender fails once NDC becomes empty
  • +
  • [LOG4NET-22] - XmlLayout allows output of invalid control characters
  • +
  • [LOG4NET-23] - example-apps.html links are off by one folder level
  • +
  • [LOG4NET-25] - RollingFileAppender can fail if RollOverIfDateBoundaryCrossing required
  • +
  • [LOG4NET-28] - AdoNetAppender does not support inserting NULL into columns
  • +
  • [LOG4NET-29] - LevelMatchFilter should return Neutral when no match is found
  • +
  • [LOG4NET-32] - AdoNetAppender losing first entry
  • +
  • [LOG4NET-35] - Exception rendering ThreadContextStack if null value pushed into stack
  • +
  • [LOG4NET-36] - System.Diagnostics.Trace may throw exception if AppDomain does not have config file
  • +
  • [LOG4NET-40] - RollingFileAppender does not limit files to MaxSizeRollBackups when CountDirection is 1
  • +
  • [LOG4NET-41] - RollingFileAppender roll over date fail
  • +
  • [LOG4NET-42] - Serialised LoggingEvent does not preserve the Fix flags
  • +
  • [LOG4NET-43] - Specifying an empty string as a property in the config file results in an error
  • +
  • [LOG4NET-44] - XmlLayout emits all properties under a node named global-properties, rather than just properties.
  • +
  • [LOG4NET-49] - CountingQuietTextWriter does not count strings written with WriteLine
  • +
  • [LOG4NET-50] - Process.StartTime hangs on some systems
  • +
  • [LOG4NET-60] - Bug in RollingFileAppender.cs causing failure to timely roll files on monthly interval
  • +
  • [LOG4NET-63] - 1.2.9.0 Documentation typos
  • +
  • [LOG4NET-65] - Unhandled SecurityException exception for FileIOPermission while loading configuration file
  • +
  • [LOG4NET-67] - CVE-2006-0743 Security vulnerability in LocalSyslogAppender
  • +
  • [LOG4NET-69] - Exception thrown when *Format methods are given a malformed format string
  • +
  • [LOG4NET-70] - CoreDll.dll referenced with different capitalisation
  • +
  • [LOG4NET-73] - ADONetAppender.ActivateOptions() leaks database connection when called multiple times
  • +
+
+ +

New Features

+
    +
  • [LOG4NET-11] - Add Flush command to API
  • +
  • [LOG4NET-24] - Programmatic flush of BufferingAppenderSkeleton buffer
  • +
  • [LOG4NET-37] - Allow the RepositorySelector type to be specified using the AppSettings config
  • +
  • [LOG4NET-46] - Support appenders that can output multiple events efficiently
  • +
  • [LOG4NET-51] - WmiAppender
  • +
+
+ +

Improvements

+
    +
  • [LOG4NET-3] - Support per event patterns in FileAppender File name
  • +
  • [LOG4NET-13] - Allow SMTPAppender to have replaceable parameters in Subject
  • +
  • [LOG4NET-15] - Email high "importance" priority setting with SmtpAppender
  • +
  • [LOG4NET-17] - Line-wrapping Appender Layouts
  • +
  • [LOG4NET-33] - Ability to use global property to point to log4net configuration file
  • +
  • [LOG4NET-34] - Allow xml config values to be set via XmlNodeType.CDATA or XmlNodeType.Text rather than just value="foo"
  • +
  • [LOG4NET-45] - PluginAttribute does not allow plugin type to be specified as a Type, only as a string
  • +
  • [LOG4NET-52] - Allow XML configurator to set properties of type Object
  • +
  • [LOG4NET-53] - Allow repository properties to be set in the config file
  • +
  • [LOG4NET-56] - Support rendering IEnumerator objects as well as ICollections
  • +
  • [LOG4NET-58] - Support clean build on .NET 2.0
  • +
  • [LOG4NET-72] - Performance of ILog.xxxFormat methods
  • +
  • [LOG4NET-74] - Change MemoryAppender member variables to protected
  • +
+
+ +
+ +

1.2.9 Beta

+ +

Breaking Changes

+
    +
  • +

    Renamed namespaces

    + + Renamed namespace log4net.spi to log4net.Core. + Renamed namespace log4net.helpers to log4net.Util. + +
  • +
  • +

    Renamed config classes and attributes

    + + In the log4net.Config namespace the DOMConfigurator, + DOMConfiguratorAttribute, DomainAttribute, + and AliasDomainAttribute have been marked as obsolete. These types are + still available and functional in this release. + + + The XmlConfigurator and XmlConfiguratorAttribute + types replace DOMConfigurator and + DOMConfiguratorAttribute. The RepositoryAttribute + and AliasRepositoryAttribute types replace + DomainAttribute and AliasDomainAttribute. + +
  • +
  • +

    Fixed pascal casing of type names

    + + Renamed AdoNetAppender, AspNetTraceAppender, + SmtpAppender, Iso8601DateFormatter, + MdcFilter, and NdcFilter. + 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. + +
  • +
  • +

    Layouts changed to stream their output to a TextWriter

    + + Layouts have been changed to format their output to a TextWriter + rather than return a string. This increases performance and reduces temporary object creation. + +
  • +
  • +

    C style string escapes no longer supported by config parser

    + + The XML config parser no longer supports decoding C style escape sequences in strings. + Previously sequences like \n and \\ + where decoded. Instead use the appropriate XML encodings as required. + +
  • +
+
+ +

New Features

+
    +
  • +

    New CLI build

    + + 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. + + + This build is only available in release configuration and can be found at + bin\cli\1.0\release. + +
  • +
  • +

    Logging contexts

    + + 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 + MDC and NDC and a replacement for + them. The MDC and NDC have been + reimplemented to use the ThreadContext as storage. + + + 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: + GlobalContext, ThreadContext, + LogicalThreadContext, and LoggingEvent. + Context values specified in a narrower scope hide the matching value in a wider scope. + +
  • +
  • +

    PatternLayout customization and long pattern names

    + + The PatternLayout now supports long pattern names. + These pattern names are significantly more readable than the single character patterns. + + + The PatternLayout now supports custom patterns. New patterns + can be defined in the config file: + +
    +<layout type="log4net.Layout.PatternLayout">
    +
    +  <converter>
    +    <name value="myConverter" />
    +    <type value="TestApp.MyPatternConverter, TestApp" />
    +  </converter>
    +
    +  <conversionPattern value="%-5level %logger - %myConverter - %message%newline" />
    +</layout>
    + + The above config defines a custom pattern called myConverter + which is bound to the TestApp.MyPatternConverter, TestApp + type. This type must extend the log4net.Util.PatternConverter + base class. The custom pattern can then be used in the pattern string. + + + For full details see the SDK Reference entry: log4net.Layout.PatternLayout. + +
  • +
  • +

    PatternString for pattern based configuration

    + + A new pattern based type, PatternString, 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: + +
    +<file type="log4net.Util.PatternString">
    +
    +  <converter>
    +    <name value="folder" />
    +    <type value="TestApp.SpecialFolderPatternConverter,TestApp" />
    +  </converter>
    +
    +  <conversionPattern value="%folder{LocalApplicationData}\log-file.txt" />
    +</file>
    + + The code for the SpecialFolderPatternConverter + is as follows: + +
    +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));
    +  }
    +}
    + + For full details see the SDK Reference entry: log4net.Util.PatternString. + +
  • +
  • +

    Loading configuration from a URI

    + + The XmlConfigurator methods now support loading the + configuration data from a URI. Config can be loaded from any URI supported by the + System.Net.WebRequest class. + +
  • +
  • +

    Support for No-Touch deployment

    + + Log4net supports configuring No-Touch deployment applications using the + XmlConfiguratorAttribute. If a relative config file + or extension is specified then this is resolved relative to the deployment + URI. + +
  • +
  • +

    Config file parser enhancements

    + + The config file parser has been enhanced to support specifying the property subtype, or intermediate type, + directly on the property element, for example: + +
    +<layout type="log4net.Layout.PatternLayout" value="%message%newline" />
    + + Implicit conversion will be attempted between the value string and the type specified, + and then again between the type and the target property type. + +
  • +
  • +

    .NET string formatting syntax

    + + Added .NET String.Format style formatting syntax methods to + the ILog interface. The new methods are: + DebugFormat, InfoFormat, + WarnFormat, ErrorFormat + and FatalFormat. + +
  • +
  • +

    Customizable levels

    + + Levels are defined by the repository LevelMap. The defined + levels, the relative ordering of levels and level display names can be configured on + a per-repository basis. + +
  • +
  • +

    Per-appender security contexts

    + + 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 SecurityContext can be used to elevate the + privileges of the appender. The WindowsSecurityContext + is used to specify alternative credentials on the Windows platform. + +
  • +
  • +

    Added new appenders

    +
    +
    AnsiColorTerminalAppender
    +
    + + The AnsiColorTerminalAppender 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 ColoredConsoleAppender instead. + +
    +
    LocalSyslogAppender
    +
    + + Logs events to a local syslog service. This appender uses the POSIX libc syslog + library functions. If these functions are not available on the local system then + this appender will not work! + +
    +
    RemoteSyslogAppender
    +
    + + The RemoteSyslogAppender uses the BSD syslog protocol to + log to a syslog daemon. The syslogd listens for for messages on UDP port 514. + +
    +
    TelnetAppender
    +
    + + The TelnetAppender accepts socket connections and streams + logging messages back to the client. The output is provided in a telnet-friendly way + so that a log can be monitored over a TCP/IP socket. + This allows simple remote monitoring of application logging. + +
    +
    +
  • +
  • +

    Added new LoggerMatchFilter filter

    + + Added LoggerMatchFilter which matches a string against + the event's logger name. + +
  • +
  • +

    Pluggable file locking models for the FileAppender

    + + The FileAppender (and by extension the + RollingFileAppender) now support pluggable file + locking models. The default model, ExclusiveLock, + maintains the current exclusive file locking behavior. An alternative + model, MinimalLock, can be used to support writing to + a single output file from multiple processes. + + + For full details see the SDK Reference entry: log4net.Appender.FileAppender.LockingModel. + +
  • +
  • +

    RollingFileAppender roll once

    + + The RollingFileAppender now supports a new + rolling style, Once. In this mode the appender + will roll the file once per run. + +
  • +
  • +

    SmtpAppender authentication

    + + On the .NET 1.1 platform only, the SmtpAppender supports authenticating + against the mail server using either username and password or integrated NTLM authentication. + +
  • +
  • +

    AdoNetAppender ReconnectOnError

    + + Added new configuration property to AdoNetAppender. + Setting ReconnectOnError to true + will force the appender to attempt to reconnect to the database if the connection + is lost. + +
  • +
  • +

    UdpAppender hostname support

    + + The UdpAppender config property RemoteAddress + can now be specified as a DNS hostname string. The hostname is resolved to an IP address. + +
  • +
+
+ +

Other Changes

+
    +
  • +

    FxCop compliance

    + + Updates to bring the internal code in line with the current FxCop rules. + +
  • +
  • +

    Separate NUnit tests

    + + Moved the NUnit tests into a separate project, log4net.Tests. + +
  • +
  • +

    Bug Fixes

    +
    +
    RemotingAppender
    +
    + + Sends events from a ThreadPool thread + rather than the calling thread to prevent transfer, + and potential loss, of the CallContext. + +
    +
    RollingFileAppender
    +
    + + Fixed date rolling period detection for non UTC timezones. + +
    +
    ColoredConsoleAppender
    +
    + + Updated to support writing more than 30,000 chars in a single message. + Fixed background color overspill if the console window needs to + scroll the contents. + +
    +
    +
  • +
+
+ +
+ +

1.2.0 Beta 8

+
    +
  • +

    Changed assembly name to log4net

    + + The build output is now log4net.dll + for all frameworks. This is a breaking change. + + + 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 log4net. + 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. + +
  • +
  • +

    Combined Release and ReleaseStrong builds

    + + The Release and ReleaseStrong builds have been consolidated into + a single build called Release. This Release build is strongly named. + +
  • +
  • +

    New Appender: ColoredConsoleAppender

    + + The ColoredConsoleAppender writes events to the + application's console. It can be configured to specify the text and background + colors for different level events. + +
  • +
  • +

    New Appender: SmtpPickupDirAppender

    + + The SmtpPickupDirAppender 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. + +
  • +
  • +

    New Layout: XmlLayoutSchemaLog4j

    + + 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 UdpAppender. + +
  • +
  • +

    New PatternLayout conversion characters

    + + Added support for capturing the current thread principal name and the + app domain friendly name for each logging event. + +
    +
    %a
    +
    + Used to output the friendly name of the AppDomain where the + logging event was generated. +
    +
    %u
    +
    + Used to output the user name for the currently active user + (Principal.Identity.Name). +
    +
    +
  • +
  • +

    Types specified in the config file are now loaded ignoring case

    + + All types specified in the configuration files are now loaded + using a case insensitive method. + +
  • +
  • +

    Fine grained fixing for buffered events

    + + The LoggingEvent 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 Fix + property takes a combination of the FixFlags + enumeration values. + +
  • +
  • +

    Code updated inline with FxCop 1.21

    + + In line with the FxCop 1.21 guidelines: + Sealed utility classes. Added serialization security demand to GetObjectData. + Renamed parameters. + +
  • +
  • +

    EventLogAppender 32K Limit

    + + 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. + +
  • +
+
+ +

1.2.0 Beta 7

+
    +
  • +

    Updated to support the Microsoft .NET Framework 1.1 Final

    + + Updated to support the Microsoft .NET Framework 1.1 Final Beta (1.1.4322). + +
  • +
  • +

    Features document

    + + Added a new document that covers the main features of log4net. + See the features + document for more information. + +
  • +
  • +

    Hierarchy disabled until it is configured

    + + 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. + + + If you are configuring log4net programmatically (i.e. not using + one of the built-in configurators) you must set the + ILoggerRepository.Configured property + to true once you have configured + the repository. + + + 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. + +
  • +
  • +

    New examples in VisualBasic.NET, JScript and Managed C++

    + + New examples in VisualBasic.NET, JScript and Managed C++. + TODO Link to document about examples. + +
  • +
  • +

    Code and Documentation Updates

    + + Code fixes. Documentation and manual updates. + See the ChangeLog for more information. + +
  • +
  • +

    Added document with example appender configurations

    + + See the Example Appender Configuration + document for more information. + +
  • +
+
+ +

1.2.0 Beta 6

+
    +
  • +

    Added support for multiple frameworks

    + + log4net 1.2.0 beta 6 adds support for the the following frameworks: + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + Framework + Website
    Microsoft .NET Framework 1.1 Final Beta (1.1.4322)http://msdn.microsoft.com/net
    Microsoft .NET Compact Framework 1.0 (1.0.5000)http://msdn.microsoft.com/vstudio/device/compactfx.asp
    Mono 0.23http://www.go-mono.org
    Microsoft Shared Source CLI 1.0http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp
    +
    +

    + + Not all frameworks are created equal and some features have been excluded from + some of the builds. See the Framework Support document for more information. + +
  • +
  • +

    New build system using NAnt

    + + The new build system allows log4net to be built for all supported frameworks and + in all build configurations in one go. + +
  • +
  • +

    New source code & distribution layout

    + + The source code & distribution layout has been updated to support the new + build environment and multiple target frameworks. + +
  • +
  • +

    Removed DomainAttribute.UseDefaultDomain property

    + + Updated default behavior of DefaultRepositorySelector. Assemblies + are now by default placed into the default domain. To specify another domain, + the DomainAttribute must be used. This is the opposite behavior + to what was previously available. If you were previously specifying the DomainAttribute.UseDefaultDomain + property then you should remove it, and if the default behavior is now + sufficient, you do not need to specify the DomainAttribute at all. + +
  • +
  • +

    Updated configuration file parser

    + + Updated config file parser to use the element name as the property to set. Also + removed <object> tag, the type attribute can now be + specified on the property element directly. + + + For example: + +
    +<appender>
    +  <param name="Evaluator">
    +    <object type="log4net.spi.LevelEvaluator">
    +      <constructor>
    +        <param type="log4net.spi.Level" value="DEBUG"/>
    +      </constructor>
    +    </object>
    +  </param>
    +</appender>
    + + becomes: + +
    +<appender>
    +  <evaluator type="log4net.spi.LevelEvaluator">
    +    <threshold value="DEBUG"/>
    +  </evaluator>
    +</appender>
    +
  • +
  • +

    Support for event ID

    + + The EventLogAppender now supports setting the event ID in the + event log, this is taken from the EventID property from the per + event Properties map on the LoggingEvent. + +
  • +
  • +

    Updated ADONetAppender

    + +
      +
    • + Added support for prepared statements and stored procedures
    • +
    • + Added RawTimeStampLayoutto correctly convert the timestamps into + database date time format
    • +
    • + Added ExceptionLayout to render the exception data
    • +
    + +
  • +
  • +

    Support for front-end extension

    + + This allows the logging API to be wrapped or adapted for specific purposes. Two + extension samples are included in the distribution: + +
    + + + + + + + + + + + + + + + + + +
    + Extension + Description
    log4net.Ext.TraceAdds trace logging methods
    log4net.Ext.EventIDAdds additional eventId parameter to all methods
    +
    + +
  • +
  • +

    Added ForwardingAppender

    + Forwards events to multiple sub appenders after applying filter rules. +
  • +
  • +

    Added BufferingForwardingAppender

    + Forward events to sub appenders after buffering them. +
  • +
  • +

    Added ASPNetTraceAppender

    + Logs events to the ASP.NET trace system. +
  • +
  • +

    Added NetSendAppender

    + Delivers logging events using the Windows Messenger service. +
  • +
  • +

    Added UdpAppender

    + Sends logging events as connectionless UDP datagrams to a remote host or a + multicast group. +
  • +
  • +

    Removed obsolete methods

    +
  • +
  • +

    Lots of updates to improve our compliance with FxCop

    +
  • +
  • +

    Improved SDK documentation

    +
  • +
+
+ +

1.2.0 Beta 5

+
    +
  • +

    Fixed Exception thrown when DOM Configurator called with a null XML + Element.

    + This occurred if the configuration file did not have a log4net section defined. +
  • +
  • +

    Made level lookup case insensitive

    +
  • +
  • +

    Prevented the Hierarchy's Threshold level from being set to a null reference

    +
  • +
+
+ +

1.2.0 Beta 4

+
    +
  • +

    Added event specific properties to the logging event object

    + + Appenders can add additional information to the events they are logging. The RemotingAppender + and the SMTPAppender both add a 'hostname' property to the events. + These properties can be accessed using the PatternLayout with the + %P{name} syntax. + +
  • +
  • +

    Added a plugin framework

    + An IPlugin interface can be attached to any repository. +
  • +
  • +

    A new RemoteLoggingServerPlugin plugin acts as the server for the + RemotingAppender

    +
  • +
  • +

    Updated the core log4net framework to work in an environment with no + permissions

    + Specific appenders still require additional permissions to log correctly +
  • +
  • +

    Added support for domain aliasing using the AliasDomainAttribute

    + This allows a parent assembly to take control of the logging domain for child + assemblies. +
  • +
  • +

    Added events for repository creation, configuration change, configuration reset + and repository shutdown

    +
  • +
  • +

    Added LevelMap to the ILoggerRepository interface

    + The mapping from level name to level object is now repository specific, + therefore each repository can have independent mappings. +
  • +
  • +

    Moved hierarchy specific config file parser to new DOMHierarchyConfigurator class

    + This is controlled by the Hierarchy object and allows for better + encapsulation. +
  • +
  • +

    Added OnlyFixPartialEventData property to the buffered appenders

    + This setting causes slow settings to be ignored. This significantly improves the + performance of the buffered appenders. +
  • +
  • +

    XML entity references are supported in the XML config file.

    +
  • +
  • +

    Added support for expanding environment variables in <param> values

    + + The environment variables must be specified as ${FOO} where FOO + is the name of the variable to expand. + +
  • +
  • +

    Upgraded to use NUnit 2.0

    +
  • +
  • +

    File appenders can specify the encoding to use for the file

    +
  • +
  • +

    Added strong named configuration

    +
  • +
+
+ +

1.2.0 Beta 3

+
    +
  • +

    Added log4net.Ext.Trace extension

    + This is a separate assembly that adds a trace level to log4net. +
  • +
  • +

    The default log file output directory is now the application base directory not + the current directory

    +
  • +
  • +

    Added MemoryAppender

    + Stores all the logging events in an in-memory buffer. +
  • +
  • +

    Moved the Hierarchy implementation into a separate namespace

    + + The log4net.Repository.Hierarchy namespace now contains all the + code that is specific to the Hierarchy implementation. + +
  • +
  • +

    Refactored the DOMConfigurator and BasicConfigurator

    + + The Hierarchy specific data schema and implementation could be has + now been moved to the log4net.Repository.Hierarchy namespace. The + bootstrap code for these configurators remains in the log4net.Config + namespace. + +
  • +
  • +

    Replaced the DOMConfiguratorAttribute UseExecutableDomain + property with UseDefaultDomain

    + + This change to the implementation of the DOMConfiguratorAttribute should + allow the configuration of multiple assemblies to be accomplished more easily, + especially when developing web applications (ASP.NET). + +
  • +
  • +

    A few good bug fixes!

    +
  • +
+
+ +

1.2.0 Beta 2

+
    +
  • +

    Added ADONetAppender

    + Thanks to TechnologyOneCorp.com. +
  • +
  • +

    Added TraceLogAssembly extensibility example

    +
  • +
  • +

    Lots of bug fixes

    +
  • +
+
+ +

1.2.0 Beta 1

+
    +
  • +

    Added 6 new examples

    +
  • +
  • +

    Split Category class into Logger and LogManager classes

    + + The instance methods from Category have moved to the Logger + class. The static methods from Category have moved to the LogManager + class. The Category class still exists but for backward + compatibility only. Changed interface ICategoryFactory to ILoggerFactory + and the implementation class DefaultCategoryFactory to DefaultLoggerFactory. + +
  • +
  • +

    Replaced Priority class with Level class

    + + The Priority class has been replaced by the Level class. + The Priority class still exists for backward compatibility only. + The Level class implements a static pool of Level objects. + The Level class is sealed and serializable. + +
  • +
  • +

    Added ILoggerRepository interface implemented by Hierarchy

    + + The Hierarchy class implements the ILoggerRepository interface. + This interface is used by the LogManager class and therefore + allows different implementations of ILoggerRepository to be used. + +
  • +
  • +

    Enhanced NUnit tests

    + + All the NUnit tests can be run using a single TestSuite: NUnitGUI + log4net.LogManager+AllTests,log4net.dll. + +
  • +
  • +

    Added support for serializing LoggingEvents

    + + The LoggingEvent class is serializable. All local state is + captured before serialization occurs. This now allows LoggingEvent + objects to be serialized between applications or machines. + +
  • +
  • +

    Added RemotingAppender

    + + Delivers LoggingEvents 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 examples\net\remoting\RemotingServer + for details. + +
  • +
  • +

    Added support for rendering composite objects

    + + The IObjectRenderer interface method DoRender now + takes a RendererMap argument. This allows the renderer to use the + appropriate renderer from the RendererMap to render any nested + objects. + +
  • +
  • +

    Added support for rendering exceptions

    + + The DefaultRenderer now has support for rendering exceptions to a + string. This includes nested exceptions. The RendererMap is now + used to render exceptions in the LoggingEvent. This allows the + rendering of specific exceptions to be enhanced by specific renderers. + +
  • +
  • +

    Added ITriggeringEventEvaluator interface

    + + This interface is used by SMTPAppender and RemotingAppender + to determine if a LoggingEvent 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 LevelEvaluator class, which triggers above a + set level. + +
  • +
  • +

    Added regex matching to the MDCFilter, NDCFilter and StringMatchFilter

    + + The MDCFilter, NDCFilter and StringMatchFilter + can now be configured to use regex matches in addition to substring matches. + Set the RegexToMatch property to use this feature. + +
  • +
  • +

    Added XMLLayout

    + + emits an XML element for each LoggingEvent. This allows logging + events to be stored and manipulated as XML. The DTD for the XML emitted is in + the log4net-events.dtd + +
  • +
  • +

    Added support for <logger> and <level> elements in the + DOMConfigurator

    + + As the Category and Priority classes have been + replaced by the Logger and Level classes. The DOMConfigurator + has been updated to allow the <logger> and <level> + elements to be used in place of the <category> and <priority> + elements. The old elements are still accepted for backward compatibility. + +
  • +
  • +

    Added Threshold property to Hierarchy

    + + Changed DisableXXX() methods on Hierarchy to a Threshold + property. + +
  • +
  • +

    Added support for logging domains

    + + The LogManager supports multiple logging domains. The LogManager + uses an instance of the IRepositorySelector class to map from + domains to ILoggerRepository instances. The default implementation + is to have a separate ILoggerRepository for each domain. When a + call is made to the static methods on LogManager the domain can be + specified (as a string) or the domain can be inferred automatically from the + calling assembly. The default behavior is for each assembly loaded into the + process to have its own domain and ILoggerRepository. 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. + +
  • +
  • +

    DOMConfigurator can set params to arbitrary objects

    + + Using a new <object> element, params can now be set to any + creatable object. + +
  • +
+
+ +
+ + +
+
+
+
+
+ + + Propchange: logging/site/trunk/docs/log4net/src/release/release-notes.html ------------------------------------------------------------------------------ svn:mime-type = text/html Added: logging/site/trunk/docs/log4net/src/roadmap.html URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4net/src/roadmap.html?view=auto&rev=559716 ============================================================================== --- logging/site/trunk/docs/log4net/src/roadmap.html (added) +++ logging/site/trunk/docs/log4net/src/roadmap.html Wed Jul 25 23:41:40 2007 @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + Apache log4net - + Apache log4net: Development Roadmap + + + + + + + + +
+ +
+
+
+ + + + + + + +

Apache log4net Development Roadmap

+

+ The log4net development roadmap is managed by our JIRA issue tracking system. +

+

+ For a list of upcoming fixes and in-progress tasks see: +

+ +
+ + + + +
+
+
+
+
+ + + Propchange: logging/site/trunk/docs/log4net/src/roadmap.html ------------------------------------------------------------------------------ svn:mime-type = text/html Added: logging/site/trunk/docs/log4net/src/stylesheets/project.html URL: http://svn.apache.org/viewvc/logging/site/trunk/docs/log4net/src/stylesheets/project.html?view=auto&rev=559716 ============================================================================== --- logging/site/trunk/docs/log4net/src/stylesheets/project.html (added) +++ logging/site/trunk/docs/log4net/src/stylesheets/project.html Wed Jul 25 23:41:40 2007 @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + Apache log4net - + + + + + + + +
+ +
+
+
+ + + log4net + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + Propchange: logging/site/trunk/docs/log4net/src/stylesheets/project.html ------------------------------------------------------------------------------ svn:mime-type = text/html