Сообщения журнала событий переопределяются другим журналом событий

Я создаю журналы событий для регистрации ошибок проектов asp.net. Я делаю это, добавляя ключ в regedit, а затем вложенный ключ.
Иногда я создаю новый ключ и подраздел, и вместо того, чтобы получить новый пустой журнал событий, я вижу в средстве просмотра событий, что он показывает мне журналы из другого проекта. Я не могу найти образец того, когда это произойдет.
Кто-нибудь сталкивался с такой проблемой? Я делаю что-то неправильно?

10.12.2008 09:27:02
2 ОТВЕТА

Вы, вероятно, хотите использовать API EventLog.CreateEventSource для этого - он должен позаботиться о любых деталях для вас.

Краткое чтение документов показывает, что первые 8 символов проверены на уникальность ... возможно, в этом ваша проблема?

Изменить: из Reflector, API делает это ...

  1. Проверить наличие недопустимых символов («не для печати» в зависимости от категории Unicode, \, *,?)
  2. Проверяет, что созданный ключ reg будет <= 254 символа
  3. Проверяет, если источник уже зарегистрирован
  4. Проверяет, что имя журнала не зарезервировано (AppEvent, SecEvent, SysEvent)
  5. Проверяет другой журнал с тем же началом 8 символов
  6. Проверяет, что имя журнала не существует как источник
  7. Создает лог-подраздел
  8. Инициализирует подраздел журнала со значениями по умолчанию (MaxSize = 524288, AutoBackupLogFiles = 9. Сохранение = 604800, Файл =% SystemRoot% \ System32 \ config \ logName.Substring (0, 8) + ".evt")
  9. Если ОС не> Windows NT 5.x (Vista или выше), создает многострочное значение для logkey с именем logName и именем источника. Или, если значение существует, добавляет имя источника в существующий массив.
  10. Создает подключ для источника
  11. Инициализирует исходный подраздел со значениями по умолчанию (EventMessageFile, ParameterMessageFile, CategoryMessageFile, CategoryCount)
3
10.12.2008 14:34:51
Спасибо, но это случается, даже когда журналы событий имеют совершенно разные имена ...
Lea Cohen 10.12.2008 10:11:42
Если есть какие-либо разделы реестра, о которых вы не знаете, или другие действия, которые необходимо выполнить при создании журнала событий, API сделает это, в то время как вы, возможно, пропускаете важный шаг в своем ручном процессе.
Patrick Cuff 10.12.2008 12:06:55
РЕШЕНИЕ

Кажется, проблема была в том, что мы уже создали журнал событий с этим именем, и хотя мы удалили его, это не помогло. Решением было создать журнал событий с другим именем.

-2
15.02.2009 08:34:36
Если бы вы сделали то, что предложил Марк Брэкет, за 2,5 месяца до ответа, было бы сгенерировано исключение, в котором было бы указано именно это. Я опущу это не потому, что это неверно, а потому, что вы скорее отметили свой собственный - поздний - ответ как правильный, а не тот, который также помог бы вам решить вашу проблему.
Tomas Aschan 15.07.2010 14:07:11