Frédéric Delaporte created LOG4NET-506:
------------------------------------------

             Summary: 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


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)

Reply via email to