我有一个WinForm C#项目,在其中添加了NLog和一个自定义目标。为了加载这个目标,我在NLog配置中有这样的内容:
<logger name="GeneralLogger" minlevel="Warn" writeto="customTarget"></logger>
<target name="customTarget" type="LogToService"></target>
在nlog-internal.log中,我找到了这个:
2020-05-12 11:48:16.0083警告错误已引起。例外:NLog.NLogConfigurationException:无法创建目标类型:LogToService ---> System.ArgumentException:找不到目标:NLog.Config.Factory`2.CreateInstance(String上的'LogToService'itemName)在NLog.Config.LoggingConfigurationParser.CreateTargetType(字符串targetTypeName)---内部异常堆栈跟踪的结尾---
我已经看到有关使用程序集添加扩展名的建议,但是自定义目标与添加NLog Nuget所在的项目位于同一项目中。
问候
因为它不在单独的程序集中,所以您可以这样做:
// NLog 4.7+
NLog.LogManager.Setup().SetupExtensions(s =>
s.RegisterTarget<MyNamespace.LogToService>("LogToService")
);
关于所有选项,请参见Register your custom component