logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Frédéric Delaporte (JIRA) <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-506) RollingFileAppender no more able to log to same folder from different processes
Date Fri, 26 Feb 2016 16:36:18 GMT

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

Frédéric Delaporte commented on LOG4NET-506:
--------------------------------------------

I highly suspect LOG4NET-485 to have cause this bug. It looks like it creates a mutex named
after the log file folder name, and check access on it. And this mutex looks like not supporting
access from different identities.

> RollingFileAppender no more able to log to same folder from different processes
> -------------------------------------------------------------------------------
>
>                 Key: LOG4NET-506
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-506
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.15
>         Environment: Windows Server 2008 R2, Windows Server 2012 R2
>            Reporter: Frédéric Delaporte
>         Attachments: SiteAlone_log4net.txt, SiteWithSvc_log4net.txt
>
>
> We have many applications running on the same server.
> Some are windows services running under "Local system" identity, others are IIS hosted
web sites running under "Application pool" identity.
> All do log through RollingFileAppender to D:\Logs\ to their own file log (filename specific
to each application).
> They log through AdoNetAppender too.
> Since we have upgraded Log4Net from 1.2.13 to 1.2.15 on all services and some web sites,
upgraded IIS web sites cease being able to log to D:\Logs\. SQL logs still work. Non upgraded
web site are still able to log to D:\Logs\.
> Our services start before our web sites.
> Stopping all services then restarting a web site allows it to log again in D:\Logs\.
Restarting a second web site (having a diffrent application pool) while the first is still
running does not allow the second one to log again in D:\Logs\ (Application pool identity
give different identity to each pool).
> Activating log4net debug trace on a web site, and comparing failure cases to working
cases, we get following diff:
> _failing case_
> {quote}
> log4net:ERROR Could not create Appender [RollingLogFileAppender] of type [log4net.Appender.RollingFileAppender].
Reported error follows.
> System.UnauthorizedAccessException: L'accès au chemin d'accès 'D__Logs_' est refusé.
>    à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
>    à System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
>    à System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
code, CleanupCode backoutCode, Object userData)
>    à  System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean initiallyOwned,
String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
>    à  System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean&
createdNew, MutexSecurity mutexSecurity)
>    à  System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean&
createdNew)
>    à  log4net.Appender.RollingFileAppender.ActivateOptions()
>    à  log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement
appenderElement)
> log4net:ERROR Appender named [RollingLogFileAppender] not found.
> {quote}
> _working case corresponding logs_
> {quote}
> log4net: Searched for existing files in [D:\Logs]
> log4net: curSizeRollBackups starts at [0]
> log4net: Opening file for writing [D:\Logs\2016.02.26-Klimt.log] append [True]
> log4net: Created Appender [RollingLogFileAppender]
> log4net: Adding appender named [RollingLogFileAppender] to logger [root].
> {quote}
> (All other log lines are identical)



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

Mime
View raw message