2015-03-13 2 views
3

Я создал файл категории в Event Logger, но имена категорий не отображаются в Event Logger.Нет категорий в Windows Журнал событий

Если я однако открываю журнал из C: \ Windows \ System32 \ winevt \ Logs, отображаются названия категорий. Название категории также отображается, если я использую следующий PowerShell.

$eventlog = New-Object System.Diagnostics.EventLog("MyLog") 
Write-Host $eventlog.Entries[0].Category 

.mc-файл выглядит следующим образом:

MessageIdTypedef = WORD 

LanguageNames=(
    English=0x0409:MSG00409 
    Swedish=0x041D:MSG0041D 
) 

MessageId=1 
SymbolicName=CAT_1 
Language=English 
Category 1 
. 
Language=Swedish 
Kategori 1 
. 

MessageId=2 
SymbolicName=CAT_2 
Language=English 
Category 2 
. 
Language=Swedish 
Kattegori 2 
. 

; // Up to 22 categorys 

В реестре, я следующее:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\MyLog\MySource] 
"CategoryCount"=dword:00000016 
"TypesSupported"=dword:00000007 
"CategoryMessageFile"="C:\\path\\Messages.dll" 

Я нашел https://social.msdn.microsoft.com/forums/windowsdesktop/en-us/3fed3069-ce0f-4168-8132-4d19d66fdd7e/windows-7eventlog-creating-custom-categories с той же проблемой, но нет ответа на проблема.

Я попытался это как в Windows, 7, 8 и Windows Server 2008 R2

Редактировать

Я создал тестовый проект, чтобы показать, что я сделал. загрузить here

+0

Пожалуйста, не обфускайте «C: \\ path \\ Messages.dll», покажите фактический путь. –

+0

Прямо сейчас Messages.dll находится в папке отладки решения. Но я также пытаюсь переместить его в C: \ Messages.dll. Это релевантно для функции, в которой файл находится в файловой системе? – magol

+0

Я создал тестовый проект. Мое последнее редактирование в моем вопросе. – magol

ответ

1

Попробуйте добавить Authenticated Users или Users группу машины уровня безопасности в папку сообщения. Сохраняйте разрешения по умолчанию. Затем перезагрузите или попробуйте перезапустить службу EventLog.

В командной строке администратора: net stop eventlog

Вы, вероятно, будет предложено отключения других услуг. Чтобы продолжить, вы должны ввести Y. Выключенные службы обычно перезапускаются самостоятельно, поэтому вам просто нужно подождать несколько секунд. Служба eventlog может не выходить из строя, потому что другая служба перезагрузилась, может потребоваться несколько попыток все убрать. Следите за итоговым текстом для получения статуса.

Я столкнулся с этой же проблемой, указав исходную информацию о реестре в папку сообщений в моем проекте VS. Я обнаружил, что он начал работать после того, как я создал папку C:\Test с пользователем администратора и вместо этого ссылался на это. Единственная разница между этой и папкой проекта состояла из двух групп. Добавление одной из двух групп заставило все работать. Убрав их обоих из любой папки, он остановился.

Я также обнаружил, что если бы у меня было сопоставление MessageId's в моих CategoryMessageFile и моем EventMessageFile, он проигнорировал CategoryMessageFile.

Смежные вопросы