Вопрос

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

Описание для события ID 301 из источника X не может быть найдено ...

Мне было интересно ... это связано с тем, что все мои категории серьезности= успех?Мне также нужна категория для обслуживания, которая имеет серьезность= ошибка?


Пример успешной записи журнала:

ID события: 101, Уровень: Информация, Категория задач: (8) Сервис

Пример не успешной записи журнала:

ID события: 301, Уровень: Ошибка, Категория задач: (8) Сервис


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

; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 

; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageId=0x1
Severity=Success
SymbolicName=GENERAL_CATEGORY
Language=English
General
.

MessageId=0x2
Severity=Success
SymbolicName=DATABASE_CATEGORY
Language=English
Database Query
.

MessageId=0x3
Severity=Success
SymbolicName=LOGON_CATEGORY
Language=English
Logon
.

MessageId=0x4
Severity=Success
SymbolicName=LOGOFF_CATEGORY
Language=English
Logoff
.

MessageId=0x5
Severity=Success
SymbolicName=EMAIL_CATEGORY
Language=English
Email
.

MessageId=0x6
Severity=Success
SymbolicName=PRINTER_CATEGORY
Language=English
Printer
.

MessageId=0x7
Severity=Success
SymbolicName=IO_CATEGORY
Language=English
IO
.

MessageId=0x8
Severity=Success
SymbolicName=SERVICE_CATEGORY
Language=English
Service
.

MessageId=0x9
Severity=Success
SymbolicName=DEBUG_CATEGORY
Language=English
Debug
.

; // - Event messages -
; // *********************************

MessageId = 100
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID100
Language=English
%1
.

MessageId = 101
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID101
Language=English
%1
.

MessageId = 102
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID102
Language=English
%1
.

MessageId = 103
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID103
Language=English
%1
.

MessageId = 104
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID104
Language=English
%1
.

MessageId = 105
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID105
Language=English
%1
.

MessageId = 200
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID200
Language=English
%1
.

MessageId = 201
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID201
Language=English
%1
.

MessageId = 202
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID202
Language=English
%1
.

MessageId = 203
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID203
Language=English
%1
.

MessageId = 204
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID204
Language=English
%1
.

MessageId = 205
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID205
Language=English
%1
.

MessageId = 300
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID300
Language=English
%1
.

MessageId = 301
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID301
Language=English
%1
.

MessageId = 302
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID302
Language=English
%1
.

MessageId = 303
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID303
Language=English
%1
.

MessageId = 304
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID304
Language=English
%1
.

MessageId = 305
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID305
Language=English
%1
.
.

Это было полезно?

Решение

<Сильная> Фактическая проблема: Я создал файл не так, и номера событий, которые я подумал, что я создавал, мы наводят на разное число. Я обнаружил, что происходит после копания в файл MyFile.ce, производимый при запуске команд mc.exe и rc.exe. При взгляде на этот файл я понял, что значения DWord (Hex) не добавляли до целого числа, которое я ожидал.

<Сильно> Моя проблема: Нижняя линия была моей проблемой было просто потому, что я использовал «серьезность= предупреждение» на # 200, а не «серьезность= успех». Когда я изменил, что я наконец получил номера событий, которые я искал создавать. Было несколько других улучшений, которые я сделал в мой файл (как видно ниже), но это была главная причина, по которой у меня была моя проблема.

Исправлено файл сообщения eventLog: Ниже вы найдете свой правильный файл сообщения eventLog. Я также решил разбить его в два файла, сохраняя категории и события. (Вам не нужно)

Категории .mc

; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 

; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageIdTypedef = WORD

LanguageNames = (English=0x409:MSG00409)

MessageId = 0x1
SymbolicName=GENERAL_CATEGORY
Language=English
General
.

MessageId = 0x2
SymbolicName=DATABASE_CATEGORY
Language=English
Database
.

MessageId = 0x3
SymbolicName=LOGON_CATEGORY
Language=English
Logon
.

MessageId = 0x4
SymbolicName=LOGOFF_CATEGORY
Language=English
Logoff
.

MessageId = 0x5
SymbolicName=EMAIL_CATEGORY
Language=English
Email
.

MessageId = 0x6
SymbolicName=PRINTER_CATEGORY
Language=English
Printer
.

MessageId = 0x7
SymbolicName=IO_CATEGORY
Language=English
IO
.

MessageId = 0x8
SymbolicName=SERVICE_CATEGORY
Language=English
Service
.

MessageId = 0x9
SymbolicName=DEBUG_CATEGORY
Language=English
Debug
.
.

События .mc

; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 

; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

; // - Event messages -
; // *********************************

MessageIdTypedef = DWORD

LanguageNames = (English=0x409:MSG00409)

MessageId = 100
SymbolicName = SMESSAGE_ID100
Language=English
%1
.

MessageId = 101
SymbolicName = SMESSAGE_ID101
Language=English
%1
.

MessageId = 102
SymbolicName = SMESSAGE_ID102
Language=English
%1
.

MessageId = 103
SymbolicName = SMESSAGE_ID103
Language=English
%1
.

MessageId = 104
SymbolicName = SMESSAGE_ID104
Language=English
%1
.

MessageId = 105
SymbolicName = SMESSAGE_ID105
Language=English
%1
.

MessageId = 200
SymbolicName = WMESSAGE_ID200
Language=English
%1
.

MessageId = 201
SymbolicName = WMESSAGE_ID201
Language=English
%1
.

MessageId = 202
SymbolicName = WMESSAGE_ID202
Language=English
%1
.

MessageId = 203
SymbolicName = WMESSAGE_ID203
Language=English
%1
.

MessageId = 204
SymbolicName = WMESSAGE_ID204
Language=English
%1
.

MessageId = 205
SymbolicName = WMESSAGE_ID205
Language=English
%1
.

MessageId = 300
SymbolicName = EMESSAGE_ID300
Language=English
%1
.

MessageId = 301
SymbolicName = EMESSAGE_ID301
Language=English
%1
.

MessageId = 302
SymbolicName = EMESSAGE_ID302
Language=English
%1
.

MessageId = 303
SymbolicName = EMESSAGE_ID303
Language=English
%1
.

MessageId = 304
SymbolicName = EMESSAGE_ID304
Language=English
%1
.

MessageId = 305
SymbolicName = EMESSAGE_ID305
Language=English
%1
.
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top