Подтвердить что ты не робот

Какой идентификатор события использовать для моих записей в журнале событий?

Существуют ли диапазоны допустимых идентификаторов событий, которые должны использоваться пользовательскими приложениями при регистрации в Windows EventLog? Или я могу использовать любой идентификатор события по своему выбору (1,2,3,4....). P.S, я развиваюсь в С#.NET.

4b9b3361

Ответ 1

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

Но имейте в виду...

Как и когда Генри Форд сказал: "Вы можете иметь любой цвет, который хотите, пока он черный" - вы также можете использовать любой диапазон, который вам нравится, если этот диапазон попадает в диапазон 0 и 65535.

Ответ 2

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

Вот ссылка: http://msdn.microsoft.com/en-us/library/e29k5ebc.aspx - Особенно интересна часть не писать сообщения с адресами IPv6 (из-за символа%), в журнал событий. Бьюсь об заклад, вы можете использовать параметр, чтобы обойти это.

Ответ 3

Edit1: Я тестировал это, и это не так, что eventID - 32 бит. Это всего лишь 16 бит.

eventId - Int32, от -2,147,483,648 до 2,147,483,647

EventLog.WriteEntry Method (String, String, EventLogEntryType, Int32)

public static void WriteEntry(
    string source,
    string message,
    EventLogEntryType type,
    int eventID
)

Ответ 4

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

0x0000 - 0xffff

Смотрите: Структура сообщений о событиях

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

Ответ 5

Технически вы можете использовать любые значения между 1 - 65536.

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

 Random rnd = new Random();
 EventId = rnd.Next(0, 65535);