我试图让 log4net 在旧应用程序中工作,但是当它启动时我得到了这个异常(来自 DbgView):
log4net:ERROR XmlHierarchyConfigurator: 对象类型 [log4net.Appender.FileAppender] 不可分配给类型 [log4net.Appender.FileAppender+LockingModelBase]。没有可接受的类型转换。
log4net:错误 XmlHierarchyConfigurator:无法创建对象以设置参数:lockingModel
这是什么意思,更重要的是,我如何消除此错误并使其正常工作?如果这有什么不同,这在 Outlook 插件上。这是我的 app.config 文件(由于机密性,一些非必要部分已编辑):
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="c:\errlog.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
</layout>
</appender>
</log4net>
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
<!--add name="System.Net.Cache" value="Verbose"/-->
</switches>
<sharedListeners>
<add name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log" />
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
</appSettings>
</configuration>
我发现许多其他帖子说添加该行<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
应该可以解决这个问题,但它不能解决任何问题。我正在寻找的最终结果是一个日志文件,其中包含允许我调试这个应用程序的信息,我如何让这个东西工作?
另外,我已经阅读了关于 stackoverflow 的所有其他相关问题(其中有几十个),这是我见过的唯一一个甚至有相同异常消息的问题,并且没有提供对我有用的答案:无法使用值 [MinimalLock] 在对象 [log4net.Appender.RollingFileAppender] 上设置属性 [lockingModel]