我试图编写用于登录NLog的自定义附加程序。我看到了log4net的一些示例,应该在哪里写从抽象类AppenderSkeleton继承的appender。谁能在NLog中命名模拟类?
最佳答案
log4net附加程序的NLog模拟将成为目标。为了创建自己的目标,您必须继承NLog.Targets.TargetWithLayout
。另外,您还应该使用TargetAttribute
属性标记目标类:
[Target("Foo")]
public class FooTarget : TargetWithLayout
{
protected override void Write(LogEventInfo logEvent)
{
Console.WriteLine(logEvent.Message);
}
}
下一步是添加程序集,其中将您的类定义为NLog扩展:
<nlog>
<extensions>
<add assembly="MyBarAssembly"/>
</extensions>
<targets>
...
最后一步-注册您的目标(NLog将通过
TargetAttribute
在扩展名中搜索类型市场)<target name="foo" type="Foo"/>
关于c# - 自定义NLog Appender,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13154263/