Поделиться через


Практическое руководство. Внесение записей в журналы событий

Обновлен: Ноябрь 2007

При добавлении записи в журнал событий сообщение, которое необходимо добавить в журнал, указывается в виде строки. Из содержащейся в сообщении информации должно быть понятно, что вызвало проблему и что нужно сделать, чтобы ее решить.

Есть два равнозначных способа добавления записи в журнал событий. Самый прямой путь — зарегистрировать источник событий в журнале, в который будут добавляться записи, создать экземпляр компонента, задать в качестве свойства Source этот источник и вызвать метод WriteEntry. В этом случае свойство Log для экземпляра компонента задавать не нужно, оно автоматически устанавливается при подключении к уже зарегистрированному источнику и получает значение того журнала, для которого зарегистрирован этот источник. Дополнительные сведения о регистрации источника см. в разделе Практическое руководство. Добавление приложения в качестве источника записей журнала событий.

Другой способ — создать экземпляр компонента EventLog, задать его свойства Source, MachineName и Log и вызвать метод WriteEntry. В этом случае метод WriteEntry сам определяет, существует источник или нет, и, если не существует, то мгновенно создает и регистрирует его.

Для добавления записи в журнал событий должны быть выполнены следующие условия:

  • Источник должен быть зарегистрирован в нужном журнале.

    k00ce235.alert_note(ru-ru,VS.90).gifПримечание.

    Перед внесением записей в журнал для экземпляра компонента EventLog необходимо задать свойство Source. При добавлении записи система автоматически проверяет, зарегистрирован ли указанный источник в том журнале, в который компонент добавляет запись, и при необходимости вызывает метод CreateEventSource. В общем случае при установке приложения следует создать новый источник события. Благодаря этому операционная система успевает обновить свой список зарегистрированных источников событий и их конфигурацию. Если список источников событий в системе не обновился и предпринимается попытка записать событие с новым источником, возникнет ошибка выполнения операции записи. Если создание источника во время установки невозможно, можно попытаться создать его задолго до первой операции записи, возможно, при инициализации приложения. При выборе этого способа следует убедиться, что код инициализации выполняется с правами администратора. Они необходимы для создания новых источников событий.

  • Максимальная длина сообщения, которое можно задать, составляет 16 килобайт.

  • Приложение должно иметь доступ для записи в данном журнале. Дополнительные сведения см. в разделе Ветви журналов событий в системе безопасности.

При добавлении записи в журнал можно указать несколько параметров, включая тип записи, идентификатор события, категорию и любые двоичные данные, которые нужно добавить к записи.

Добавление записи в журнал событий

  1. Создайте экземпляр компонента EventLog. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента EventLog.

  2. Используйте метод CreateEventSource для регистрации источника событий в журнале событий, в который нужно добавить запись с использование уникальной строки в качестве строки источника. Установите для свойства Source компонента значение зарегистрированного источника. Дополнительные сведения см. в разделе Практическое руководство. Настройка экземпляров компонента EventLog. Вызовите метод WriteEntry для указания добавляемой в журнал записи.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEntry("This is a simple event log entry")
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEntry("This is a simple event log entry");
    

Добавление записи в журнал локализованных событий

  1. Создайте экземпляр компонента EventLog. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента EventLog.

  2. Для добавления записей в журнал локализованных событий используйте метод WriteEvent. В данном случае для определения свойств событий вместо значений строк используются идентификаторы ресурсов. В приложении Просмотр событий для отображения для источника соответствующих строк из файла локализованного ресурса используются идентификаторы ресурсов. Перед тем как записывать события с использованием идентификаторов ресурсов, необходимо зарегистрировать источник в соответствующем файле ресурса. Дополнительные сведения о регистрации файла ресурса см. в разделе EventSourceCreationData Class.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEvent(New EventInstance(1, 1), New String() {"message"})
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEvent(new System.Diagnostics.EventInstance(1, 1), new string[] { "message" });
    

См. также

Задачи

Практическое руководство. Настройка экземпляров компонента EventLog

Практическое руководство. Создание экземпляров компонента EventLog

Практическое руководство. Добавление приложения в качестве источника записей журнала событий

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

Основные понятия

Знакомство с компонентом EventLog

Ссылки

EventLog