3

EventLog ターゲットを次のように設定しました。

<target xsi:type="EventLog"
  name="EventLog"
  layout="${longdate:universalTime=true}|${level:uppercase=true}|${logger}|${message}"
  source="MyApp"
  log="Application" />

ここで、明らかにすべてのイベントが同じ ID を持つわけではないため、構成で静的 ID を設定するのではなく、メッセージごとにイベント ID を設定したいと考えています。私はこれがうまくいくと信じています:

var logger = LogManager.GetCurrentClassLogger();

var logEvent = new LogEventInfo(LogLevel.Warn, logger.Name, "Test message");
logEvent.Properties.Add("EventID", 4444);

logger.Log(logEvent);

...しかし、私のイベントでは常にイベント ID が 0 に設定されています。これを機能させる方法を知っている人はいますか?

4

2 に答える 2

1

github ハブ リポジトリには、eventId を含む EventLog ターゲットの構成例があります。eventId は、イベント ID をレンダリングするレイアウトを使用します。

https://github.com/NLog/NLog/wiki/Eventlog-target

于 2014-10-20T19:27:41.763 に答える