2012-03-28 8 views
4

Windowsのイベントログに.NET Framework 4でログオンするときに、ログエントリを挿入すると、イベントビューア - > Windowsログ - >アプリケーション - > - >詳細 - >フレンドリービュー - あなたは、サブ秒精度が欠落している見ての通り、私はビューアにいくつかの他のイベントを見ることができますが>システム)は、 ログイベントを挿入するときに、TimeCreatedフィールドが十分正確でない

[SystemTime] 2012-03-28T11:07:12.000000000Z 

のような値を取得します"。"の後に数字がある場所より正確なタイムスタンプを示す。

これは.NET Framework/CLR/C#の何らかの制限ですか、それとも間違っているのですか?

ありがとうございました。

VS2010SP1、Win7/Server 2008 R2の環境。

UPDATE:

私は私がこれまで

EventLog.WriteEntry("applicationName", "message", logEntryType, (int)eventId, (short)taskCategory); 

とlog4netののEventLogAppenderで試してみた言及があります。

UPDATE 2:だから

、イベントログにイベントを挿入するためETWを使用して、実際にSYSTEMTIMEサブ秒の分解能を有するイベントを生成します。これが実際に必要であるかもしれない、私の場合の過度のような感じです。

答えて

1

私は信頼できるものは見つかりませんでしたが(残念ながら)、advapi32.dllのReportEvent関数は2番目までしか追跡していないようです。私がこの関数を使って見た例では、タイムスタンプはあなたが示したように、ちょうど秒までです。

WriteEntryメソッドは、イベントログに書き込むためにADVAPI32.dll ReportEvent関数を使用します。日付/時刻値はこの関数に渡されません。そのため、精度を追跡しない内部関数であると仮定する必要があります。

関連する問題