Мне понадобилось добавить в системный журнал событий запись (событие), содержащую несколько строк. Проблема в том, что здесь не работают переносы строк вида ‘\n’ или System.Environment.NewLine.
Решения с созданием отдельных ячеек типа <Data>Entry1</Data> также не работали, т.к. в Журнале отображалась только первая строчка, а остальные не были видны.
Решение
В PowerShell есть конструкции типа Here-String, но у нас C#, тут немного по другому (здесь используется @ как verbatim-идентификатор), зато это сработает!
MultiStringEvent.cs
EventInstance eventInstance = new EventInstance(eventID, categoryId, type);
string multiStr = @"Line 1
Line 2
Line 3
Line 4
Line 5
Line 6 and so on...";
try
{
EventLog.WriteEvent(ApplicationName, eventInstance, multiStr);
}
catch (Exception error)
{
DebugLog(error.ToString());
}
Результат: