私のアプリでは、EventLog を使用しています (お金を扱っているため、発生する可能性のあるすべてのイベントをログに記録する必要があります)。EventLog はうまく機能しますが、問題は、メッセージがあまりにも早く来ることです (1 秒で 3 ~ 5 個のイベントが発生する可能性があります)。
これらのメッセージの後、EventLog で適切に並べ替えることができません (時間で並べ替える必要があります)。問題は、1 秒で 5 つのイベントが発生した場合、これらの 5 つのイベントが EventLog で「ランダムに」ソートされることです。これは、YYYY/MM/DD hh/mm/ss のみを記録しているためですが、ミリ秒を追加する必要があります。それを達成する方法はありますか?
イベントをログに記録する方法の基本的なコード:
if (!EventLog.SourceExists(EventLogName))
EventLog.CreateEventSource(ex.Message, EventLogName);
EventLog log = new EventLog();
log.Source = EventLogName;
log.WriteEntry(ex.Message, EventLogEntryType.Error);
WriteEntry の最も正確な属性は次のとおりです。
-string source
-string message
-EventLogEntryType type
-int eventID
-short カテゴリ
-byte[] rawData
しかし、時間が保存される場所はありません。ミリ秒の精度で基本的な Windows EventLog に書き込む方法はありますか?