[ https://issues.apache.org/jira/browse/LOG4NET-506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15169288#comment-15169288 ]
Frédéric Delaporte edited comment on LOG4NET-506 at 2/28/16 12:38 PM: ---------------------------------------------------------------------- Maybe a quick fix could be, in LOG4NET-485 implementation, to change the mutex name to include the log +{{datePattern}}+ -file _base_ name (name without the _rolling variable part_)-. As a workaround for keeping using 1.2.15 instead of rollbacking to 1.2.13, we will use specific sub-folders for each application. (By example; {{D:\Logs\WebSite1\}} for web site 1). This does work, even if some 1.2.15 services goes on logging into {{D:\Logs\}}. was (Author: fredericdelap): Maybe a quick fix could be, in LOG4NET-485 implementation, to change the mutex name to include the log +{{datePattern}}+ -file _base_ name (name without the _rolling variable part_)-. As a workaround for keeping using 1.2.15 instead of rollbacking to 1.2.13, we will use specific sub-folders for each application. (By example; D:\Logs\WebSite1\ for web site 1). This does work, even if some 1.2.15 services goes on logging into D:\Logs\. > RollingFileAppender locking log folder in some cases > ---------------------------------------------------- > > 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 > Priority: Minor > Attachments: SiteAlone_log4net.txt, SiteWithSvc_log4net.txt > > > Many applications run 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\}} (value of {{file}} > configuration node) to their own file log (filename specific to each > application through {{datePattern}} configuration node). > They log through {{AdoNetAppender}} too. > Since having 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\}}. > The services start before the 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 different 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, yields following diff: > {code:title=failing case debug trace} > 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. > {code} > {code:title=working case corresponding trace} > log4net: Searched for existing files in [D:\Logs] > log4net: curSizeRollBackups starts at [0] > log4net: Opening file for writing [D:\Logs\2016.02.26-WebSite1.log] append > [True] > log4net: Created Appender [RollingLogFileAppender] > log4net: Adding appender named [RollingLogFileAppender] to logger [root]. > {code} > (All other trace lines are identical) > {code:xml|title=WebSite appender configuration} > <appender name="RollingLogFileAppender" > type="log4net.Appender.RollingFileAppender"> > <file value="D:\Logs\" /> > <datePattern value="yyyy.MM.dd'-SiteWeb1.log'" /> > <staticLogFileName value="false" /> > <appendToFile value="true" /> > <rollingStyle value="Composite" /> > <maxSizeRollBackups value="10" /> > <maximumFileSize value="5MB" /> > <layout type="log4net.Layout.PatternLayout"> > <conversionPattern value="%date [%thread] %-5level %logger - %message - > %property%newline%exception" /> > </layout> > </appender> > {code} > {code:xml|title=Svc appender configuration} > <appender name="RollingLogFileAppender" > type="log4net.Appender.RollingFileAppender"> > <file value="D:\Logs\" /> > <datePattern value="yyyy.MM.dd'-Svc1.log'" /> > <staticLogFileName value="false" /> > <appendToFile value="true" /> > <rollingStyle value="Composite" /> > <maxSizeRollBackups value="10" /> > <maximumFileSize value="5MB" /> > <layout type="log4net.Layout.PatternLayout"> > <conversionPattern value="%date [%thread] %-5level %logger - %message - > %property%newline%exception" /> > </layout> > </appender> > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)