我尝试编写自定义appender来登录NLog。我在log4net中看到了一些应该写的appender,它继承自抽象类AppenderSkeleton。有人可以在NLog中命名模拟类吗?
答案 0 :(得分:10)
log4net的appender的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"/>