2013-08-11 3 views
6

Wie vermeide ich windows-beschweren über fehlende Beschreibungen für Event-IDs bei der Anmeldung mit NLog. Wenn ich benutze:Der richtige Weg, um mit Hilfe von NLog an EventLog zu loggen

<target xsi:type="EventLog" 
     name="eventLog" 
     layout="${message}" 
     machineName="."  
     source="MyApp" 
     log="Application" /> 

und

<rules> 
    <logger name="*" minlevel="Debug" writeTo="eventLog" /> 
</rules> 

wird der Eintrag im Protokoll angezeigt. Aber Windows beschwert sich über fehlende Beschreibung für die Ereignis-ID "0", was richtig ist.

Muss ich Dinge wie pointed out here tun, um eine saubere Protokollierung zu erhalten?

+1

Haben Sie diese Frage SO gesehen: http://stackoverflow.com/questions/17320933/set-event-id-per-log-when-writing-to-windows-event-log? – nemesv

+0

@nemesv Ja, aber wo stelle ich dann die ID ein? – sprinter252

+1

Es hängt davon ab, was Sie in Ihrer ID haben möchten, Sie können einige benutzerdefinierte Werte verwenden, wie in der verknüpften Frage beschrieben, oder Sie können einen der integrierten Renderer verwenden: https://github.com/nlog/NLog/wiki/ Layout-Renderer – nemesv

Antwort

3

Ich weiß, es ist eine alte Post, aber die configuaration sollte

<target xsi:type="EventLog" 
     name="asyncFile" 
     layout="${message}" 
     machineName="."  
     source="MyApp" 
     log="Application" /> 

und

<rules> 
    <logger name="*" minlevel="Debug" writeTo="asyncFile" /> 
</rules> 
+0

Danke. Das war nicht das Problem. Ich habe gerade meine Frage oben korrigiert. Alles über die Protokollierung in Windows EventLog. Wie kann ich NLog mitteilen, eine bestimmte Ereignis-ID zu verwenden? Dynamische IDs wären noch besser. – sprinter252

0

Nach der NLog Dokumentation gibt es einen eventId Tag sein, der eingestellt werden kann. https://github.com/nlog/NLog/wiki/EventLog-target

<targets> 
    <target xsi:type="EventLog" 
      name="String" 
      layout="Layout" 
      machineName="String" 
      source="Layout" 
      category="Layout" 
      eventId="Layout" 
      log="String" /> 
<!-- note: source is a string in NLog before 4.0 --> 

</targets> 
Verwandte Themen