logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Bodewig (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (LOG4NET-511) API to flush appenders
Date Sun, 16 Oct 2016 10:52:20 GMT

     [ https://issues.apache.org/jira/browse/LOG4NET-511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Stefan Bodewig resolved LOG4NET-511.
------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.0.6

fixed with svn revision 1765137

Many thanks [~Joe]

> API to flush appenders
> ----------------------
>
>                 Key: LOG4NET-511
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-511
>             Project: Log4net
>          Issue Type: Wish
>          Components: Appenders, Core
>    Affects Versions: 1.2.15
>         Environment: NA
>            Reporter: Joe
>            Priority: Minor
>             Fix For: 2.0.6
>
>
> I would like to see an API that flushes any appenders that have buffered data. E.g. a
method LogManager.Flush().  An application might call such a method at regular intervals,
e.g. on a Timer.
> A naive implementation with the current log4net would iterate through appenders, looking
for those that support flushing, and call the appender's flush method, e.g.:
>     foreach (IAppender appender in 
>              LogManager.GetRepository().GetAppenders())
>     {
>         BufferingAppenderSkeleton bas = appender 
>                         as BufferingAppenderSkeleton;  
>         if (bas != null) bas.Flush();
>     }
> But (a) I'm not sure this is thread-safe and (b) there are potentially other appenders
that may want to be able to flush data (e.g. a TextWriterAppender with ImmediateFlush = false).
> The request consists of:
> - Add an interface, IFlushableAppender or equivalent, with a single method Flush().
> - Implement this interface in all relevant appenders (BufferingAppenderSkeleton, TextWriterAppender,
...)
> - Add a thread-safe static Flush() method to LogManager.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message