c#-Sitecore.Logging RollingFileAppender丢失[lockingModel]
作者:互联网
我正在尝试解决Sitecore日志记录中在log4net中生成此消息的问题:
System.IO.IOException: The process cannot access the file ‘C:\Inetpub\wwwroot\Website\Data\logs\Custom.log’ because it is being used by another process.
我尝试增加MemoryMonitorHook阈值并清除了一些错误.我的下一步是使用以下方法更改锁定模型(默认为ExclusiveLock):
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
但是现在log4net正在报告以下错误.似乎Sitecore.Logging.dll缺少某些属性?版本是1.2.0.30715
log4net:ERROR DOMConfigurator: Cannot find Property [lockingModel] to set object on [log4net.Appender.RollingFileAppender]
log4net配置是这样的:
<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>
解决方法:
Sitecore使用较旧的log4net版本(看起来Sitecore 8仍在使用1.2.0).似乎在更高版本中添加了lockingModel属性.
如果您需要使用log4net的更高版本的功能,建议您看一下this blog post,它描述了如何使用不同于Sitecore.Logger.dll的Log4net版本.
标签:sitecore,log4net,asp-net,c 来源: https://codeday.me/bug/20191119/2040112.html