使用NLog记录到特定事件源

时间:2012-01-31 09:00:29

标签: .net logging nlog

我可以使用NLog记录Windows事件源。

但我想要的是编写一个特定的事件源:例如:MyEventSource

我的配置是:

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <targets>

    <target name="eventlog" xsi:type="EventLog"  log="MyEventSource" />

  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="eventlog" />
  </rules>
</nlog>

当我尝试记录anthing时,会创建MyEventSource,但会将日志消息写入常规窗口[7]应用程序事件源而不是MyEventSource。

更新

<target name="eventlog" xsi:type="EventLog"  
layout="${message}" log="custom_log" source="custom_source" />

没有区别

2 个答案:

答案 0 :(得分:-1)

您应该像这样设置目标的来源和日志:

<target xsi:type="EventLog" 
   name="eventlog" 
   layout="${message}"
   source="custom_source" 
   log="custom_log"/>

答案 1 :(得分:-1)

您是否尝试过

  

InstallNLogConfig.exe c:\ path \ to \ NLog.config

Deploying NLog configuration files

中所述

InstallNLogConfig.exe现在是included in the latest NuGet package.