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

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.121.2.13 版本程序集中没有这样的类型 .
我've googled and researched at the log4net sources repository, but I can't在最新版本的log4net中找到答案 what's happened with the log4net.Appender.AsyncAppender class .

有人可以回答这个问题吗?

回答(2)

2 years ago

各种 AsyncAppender 类现在是Chris Haines开发的 Log4Net.Async 组件的一部分 .

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

它们以NuGet包的形式提供(参见https://www.nuget.org/packages/Log4Net.Async/),源代码可在GitHub上的https://github.com/cjbhaines/Log4Net.Async获得 .

2 years ago

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

If You're looking for an implementation of an async appender for log4net ,从这里提供的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