自1.2.11发布以来是否已删除log4net.Appender.AsyncAppender类?

时间:2014-02-24 08:11:29

标签: c# .net logging log4net

log4net 版本 1.2.11 中,有 log4net.Appender.AsyncAppender 类。
我的以下log4net配置适用于1.24版本的log4net:

  <appender name="AsyncAppender" type="log4net.Appender.AsyncAppender">
    <appender-ref ref="RollingFileAppender" />
    <appender-ref ref="ColoredConsoleAppender" />
    <appender-ref ref="SmtpAppender" />
  </appender>

升级到 1.2.12 或当前最新的 1.2.13 版本后,我的应用启动时出现以下异常:

A first chance exception of type 'System.TypeLoadException' occurred in log4net.dll    
Additional information: Could not load type [log4net.Appender.AsyncAppender]. Tried assembly [log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a] and all loaded assemblies  

我已经看了 log4net 1.2.11 程序集并找到了log4net.Appender.AsyncAppender类型,但 1.2.12 和 1.2.13 版本组件随处可见 我在log4net源存储库中搜索和研究过,但我找不到答案最新版本的log4net中log4net.Appender.AsyncAppender 类的内容。

请问有人回答这个问题吗?

2 个答案:

答案 0 :(得分:6)

各种AsyncAppender类现在是Chris Haines开发的Log4Net.Async程序集的一部分。

<appender name="AsyncRollingFileAppender" type="Log4Net.Async.AsyncRollingFileAppender,Log4Net.Async" >
  //.....
</appender>

这些可作为NuGet包提供(请参阅https://www.nuget.org/packages/Log4Net.Async/),该来源可在https://github.com/cjbhaines/Log4Net.Async的GitHub上获得。

答案 1 :(得分:1)

log4net.Appender.AsyncAppender 类不是标准 log4net DLL的一部分。 我的项目中有一些非标准的log4net DLL。

如果您正在寻找log4net 的异步appender的实现,请从此处提供的log4net示例(@sgmoore提供的链接)中尝试: http://svn.apache.org/viewvc/logging/log4net/trunk/examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/AsyncAppender.cs?revision=1158529&view=markup&sortby=file&pathrev=1181618