Я пытаюсь вызвать FormatDescription (ienumerable) для EventRecord, но не могу заставить его заменить строки.Что я делаю не так?
public void StartLogReading()
{
EventLogQuery evtLogQuery = new EventLogQuery(
"Application",
PathType.LogName,
"*[System/EventRecordID >= 0]");
var watcher = new EventLogWatcher(evtLogQuery, null, true);
watcher.EventRecordWritten += EventLogEventRead;
watcher.Enabled = true;
}
private void EventLogEventRead(object sender, EventRecordWrittenEventArgs e)
{
List<object> aParams = new List<object>();
foreach (EventProperty eventProperty in e.EventRecord.Properties)
{
aParams.Add(eventProperty.Value);
}
string description = e.EventRecord.FormatDescription(aParams);
// Do stuff with description
}
Описание строки всегда содержит сообщение о событии без замены параметров.
Я на самом деле пытаюсь использовать эту технику в качестве обходного пути для исключения, которое я иногда получаю: «Не удалось найти строку описания для ссылки на параметр (% 1)» при вызове e.EventRecord.FormatDescription ().