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


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

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

Для создания пользовательского журнала событий на локальном или удаленном компьютере используется класс EventLog. Пользовательский журнал событий создается, если нужно более точно упорядочить записи, а не так, как позволяет используемый по умолчанию журнал приложений компьютера. Предположим, что имеется компонент OrderEntry, который записывает данные в журнал событий. При этом требуется хранить эти записи дольше, чем остальные записи журнала приложений. Можно зарегистрировать компонент для добавления записей в журнал приложений, но лучше создать пользовательский журнал с именем, например, OrdersLog, и настроить компонент так, чтобы он добавлял записи в этот журнал. В этом случае все сведения о заказах будут храниться в одном месте и не будут утрачены, даже при удалении записей журнала приложений.

Можно косвенно использовать метод CreateEventSource для создания пользовательского журнала. Этот метод создает новый источник и позволяет указывать, в какой журнал следует добавлять записи. Если указано, что записи следует добавлять в журнал, который еще не существует, система сама создаст пользовательский журнал с таким именем и зарегистрирует компонент в качестве источника этого журнала.

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

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

Очень важно учитывать разницу между созданием журнала событий и созданием экземпляра компонента EventLog. При использовании метода CreateEventSource в Windows создается новый пользовательский журнал событий, а не компонент проекта или приложения. При создании экземпляра компонента EventLog создается компонент внутри проекта, который связан с внешним журналом событий. Журнал событий, созданный методом CreateEventSource, в отличие от экземпляра компонента, можно просматривать в средстве просмотра событий.

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

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

Пользовательские журналы событий можно просматривать в обозревателе серверов или в окне Windows 2000 Управление компьютером. Дополнительные сведения см. в разделе Практическое руководство. Работа с журналами событий в обозревателе серверов или Практическое руководство. Запуск средства просмотра событий из обозревателя серверов.

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

49dwckkz.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

При создании журнала событий проверьте, не существует ли уже такой ресурс. Другой процесс (возможно, вредоносный) уже мог создать ресурс и получить к нему доступ. Данные, заносимые в журнал событий, становятся доступными для другого процесса. Сведения о существующих журналах событий см. в разделе Практическое руководство. Проверка существования определенного журнала событий.

Создание пользовательского журнала событий

  • Вызовите метод CreateEventSource и укажите строку источника и имя файла журнала, который нужно создать.

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

    Если в качестве имени журнала указано пустое значение (""), по умолчанию он будет журналом приложений. При этом новый журнал создан не будет, а указанный источник будет зарегистрирован в журнале приложений. При создании нового журнала помните, что при определении уникальности имени учитываются только первые восемь знаков.

    В приведенном ниже примере показано, как на локальном компьютере создать пользовательский журнал с именем MyNewLog. В этом коде предполагается, что для пространства имен System.Diagnostics существует инструкция Imports или using.

    EventLog.CreateEventSource("ApplicationName", "LogName")
    
         System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "LogName");
    

    Для создания пользовательского журнала событий на удаленном компьютере укажите имя этого компьютера в качестве третьего параметра. В следующем коде приведен пример.

    Dim creationData As New EventSourceCreationData("ApplicationName", "LogName")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "LogName");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

См. также

Задачи

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

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

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

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

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

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

Ссылки

EventLog

Другие ресурсы

Администрирование журналов событий