Журнал событий Windows не может превышать 32766 символов.

когда я пишу журнал в журнал событий Windows:

System.Diagnostics.EventLog.WriteEntry("SourceName", a_long_string);

я получил следующее исключение:

Строка записи журнала слишком длинная. Строка, записываемая в журнал событий, не может превышать 32766 символов.

затем я разбиваю свое сообщение журнала на 2 или более строк. но я не думаю, что это хорошая идея. любые обходные пути? (например, расширить лимит на запись в журнале)


person marstone    schedule 10.10.2011    source источник
comment
Я бы поставил под сомнение удобство использования системы, которая требует записи столь длинных записей в журнал событий.   -  person Joe    schedule 10.10.2011
comment
Чтобы сделать ситуацию еще более запутанной, Статья msdn об API регистрации событий утверждает, что на компьютерах с более поздней версией Vista ограничение фактически равно 31839. Таким образом, проверка .net для 32766 и соответствующего ArgumentException неверна.   -  person durilka    schedule 28.05.2013


Ответы (1)


Журнал событий не предназначен для хранения главы 1 «Войны и мира». Вам действительно следует пересмотреть то, что вы пишете в журнал событий.

Если вы хотите записать что-то объемное (например, аварийный дамп), вы всегда можете сохранить его где-нибудь на диске и написать в EventLog сообщение вроде Generated dump at C:\Users\MyUserName\AppData\Local\MyApp\WarAndPeace.pdf.

person Joe    schedule 10.10.2011
comment
Я могу быть в меньшинстве, но мне не нравится компонент диагностики, используемый для записи ошибок, эффективно маскирующий фактическую причину регистрации потенциальной ошибки. Если «Война и мир» невозможна, то обрезать сообщение с указанием модификации сообщения. Я не согласен с тем, что сообщения должны быть ограничены и/или зарегистрированы с использованием другого носителя. Это исключение заставляет всех, кто когда-либо писал трассировку в вашем приложении, включая третьих лиц, ограничивать строку с помощью прослушивателя журнала событий по умолчанию.Ошибка? - person AbstractLabs; 03.07.2013