[
https://issues.apache.org/jira/browse/LOG4NET-506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15171020#comment-15171020
]
Frédéric Delaporte commented on LOG4NET-506:
--------------------------------------------
I now realized this case is probably bound to the way the log file name is
configured: {{file}} value does only contain target folder, the file name comes
wholly from {{datePattern}} value.
Adding appender's configuration to bug description. Reducing priority.
The file name is configured in those applications only through the
{{datePattern}} as a workaround for having the actual date at the beginning of
the file name. I have not found any other way for having it somewhere else than
at the end of the file name.
> 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
> 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\ (file config node) to
> their own file log (filename specific to each application through datePattern
> config node).
> 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 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, 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-WebSite1.log] append
> [True]
> log4net: Created Appender [RollingLogFileAppender]
> log4net: Adding appender named [RollingLogFileAppender] to logger [root].
> {quote}
> (All other log lines are identical)
> WebSite appender configuration (in bold what does change with Svc conf)
> {quote}
> <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>
> {quote}
> Svc appender configuration
> {quote}
> <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>
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)