我扩展了 AppenderSkeleton 以创建一个名为 HTTPAppender 的自定义附加程序,但在 xml 文件中对它的引用有些问题。Log4Net 显然无法找到我的自定义附加程序。有没有办法从 xml 文件中引用它以指向我的项目,或者我是否必须将我的自定义 appender 的源代码添加到 log4net 中,以便将其打包在 log4net.dll 中?
调试时在立即窗口中出现以下错误:
log4net:ERROR XmlHierarchyConfigurator: 无法创建类型为 [HTTPAppender.HTTPAppender,HTTPAppender] 的 Appender [HTTPAppender]。报告的错误如下。 System.IO.FileNotFoundException:无法加载文件或程序集“HTTPAppender”或其依赖项之一。该系统找不到指定的文件。 文件名:'HTTPAppender' 在 System.RuntimeTypeHandle._GetTypeByName(字符串名称,布尔 throwOnError,布尔 ignoreCase,布尔反射,StackCrawlMark 和 stackMark,布尔 loadTypeFromPartialName) 在 System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔 throwOnError,布尔 ignoreCase,布尔反射,StackCrawlMark 和 stackMark) ...ETC
这是 xml 文件的 log4net 部分:
<log4net>
<appender name="HTTPAppender" type="HTTPAppender.HTTPAppender,HTTPAppender">
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="#%level - %message" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="HTTPAppender" />
</root>
<logger name="log4netErrorLog" >
<level value="DEBUG" />
<appender-ref ref="HTTPAppender" />
</logger>
</log4net>