Sitecore.Logging Missing RollingFileAppender [lockModel]
I'm trying to troubleshoot a problem in the Sitecore protocol that generates this message in log4net:
System.IO.IOException: The process cannot access the file "C: \ Inetpub \ wwwroot \ Website \ Data \ logs \ Custom.log" because it is in use by another process.
I tried to increase the MemoryMonitorHook threshold and cleared up some errors. The next step is to change the locking model (by default it is ExclusiveLock) using:
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
But now log4net reports below error. Sitecore.Logging.dll seems to be missing some properties? Version 1.2.0.30715
log4net: ERROR DOMConfigurator: cannot find property [lockModel] to set object to [log4net.Appender.RollingFileAppender]
The log4net configuration is as follows:
<appender name="CustomLogFileAppender" type="log4net.Appender.RollingFileAppender, Sitecore.Logging">
<file value="$(dataFolder)\logs\Custom.log" />
<appendToFile value="true" />
<staticLogFileName value="true" />
<rollingStyle value="Date" />
<datePattern value=".yyyyMMdd.'log'" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<dateTimeStrategy type="log4net.Appender.RollingFileAppender+UniversalDateTime" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m%n" />
</layout>
</appender>
source to share
Sitecore uses an older version of log4net (it looks like Sitecore 8 is still using 1.2.0). It looks like the lockModel property was added in a later version.
If you need to use the features of the later version of log4net, I suggest you take a look at this blog post which describes how to use a different version of log4net than the one baked into Sitecore.Logger.dll
source to share