#asp.net #event-log
#asp.net #журнал событий
Вопрос:
когда я записываю журнал в журнал событий Windows:
System.Diagnostics.EventLog.WriteEntry("SourceName", a_long_string);
я получил следующее исключение:
Строка записи журнала слишком длинная. Строка, записанная в журнал событий, не может превышать 32766 символов.
затем я разделяю свое сообщение журнала на 2 или более строк. но я не думаю, что это хорошая идея. какие-либо обходные пути? (например, extern ограничение на запись в журнале)
Комментарии:
1. Я бы поставил под сомнение удобство использования системы, которая требует записи записей такой длины в журнал событий.
2. Чтобы еще больше запутать ситуацию, в статье msdn об api регистрации событий утверждается, что на компьютерах после Vista ограничение фактически
31839
является, таким образом, проверка32766
.net и соответствиеArgumentException
неверны.
Ответ №1:
Журнал событий не предназначен для хранения главы 1 «Войны и мира». Вам действительно следует пересмотреть то, что вы записываете в журнал событий.
Если вы хотите записать что-то объемное (например, аварийный дамп), вы всегда можете сохранить его где-нибудь на диске и написать сообщение в журнал событий примерно так Generated dump at C:UsersMyUserNameAppDataLocalMyAppWarAndPeace.pdf
.
Комментарии:
1. Возможно, я в меньшинстве, но мне не нравится компонент диагностики, используемый для записи ошибок, эффективно маскирующий фактическую причину регистрации потенциальной ошибки. Если Война и мир невозможны, тогда сократите сообщение с указанием изменения сообщения. Я не согласен с тем, что сообщения должны быть ограничены и / или регистрироваться с использованием другого носителя. Это исключение заставляет всех, кто когда-либо записывал трассировку в вашем приложении, включая сторонние, ограничивать строку, используя прослушиватель журнала событий по умолчанию. Ошибка?