logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominik Psenner (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-487) Control mutex type
Date Mon, 18 Jan 2016 10:04:40 GMT

    [ https://issues.apache.org/jira/browse/LOG4NET-487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15105049#comment-15105049

Dominik Psenner commented on LOG4NET-487:

Here comes a small refinement of the locking options:

1. global (all processes, even ones that are not on the same machine should be synchronized
so that only one process on one machine rolls): this will be hard to implement
2. local (all processes on the same machine are synchronized so that one of them rolls): this
is a mutex lock and the way it works at the moment
3. thread (it is assumed that there is only one process that logs and rolls): a "lock (instanceOfObject)
{}" could to the job
4. no lock (no locking required as there is only one process and thread who logs and rolls):
no locks should happen for maximum performance

At the time of writing, only option 2. and 4. make sense to be implemented.

> Control mutex type
> ------------------
>                 Key: LOG4NET-487
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-487
>             Project: Log4net
>          Issue Type: Improvement
>          Components: Appenders
>    Affects Versions: 1.2.14, 1.3.0
>            Reporter: NN
>            Assignee: Dominik Psenner
> The only missing feature is an option for choosing Local (per session) or Global (per
machine) mutex.
> The current code just uses the filename for mutex which good but it always makes a local
one, so if you have two sessions you cannot synchronize them.
> Default is Local for backward compatibility.
> See Note in: https://msdn.microsoft.com/en-us/library/system.threading.mutex%28v=vs.110%29.aspx

> I think it can be an option like
> <RollingMutexType value="Global" /> 
> or something like that.
> It also applies to FileAppender mutex .
> <LockingModel InterProcessLock>
>   <LockingMutexType value="Global" />
> </..>
> See issue #485 for reference.

This message was sent by Atlassian JIRA

View raw message