Успешная запись в журнал событий (и получение сообщения, которого я не понимаю) - PullRequest
0 голосов
/ 17 января 2019

После этого ответа Я сделал очень простое консольное приложение, которое что-то пишет в средство просмотра событий:

class Program
{
        static void Main(string[] args)
        {

            for(int i=0;i<10000;i++)
            {
                Console.Write(".");
            }

            Console.WriteLine("Preparing to write into Event log");

            using (EventLog eventLog = new EventLog("Application"))
            {
                eventLog.Source = "Application";
                eventLog.WriteEntry("Log message example", EventLogEntryType.Information, 101, 1);
            }

            Console.WriteLine("I wrote to the event log. Press a key");
            Console.ReadLine();
        }
}

Затем, проверяя просмотрщик событий, у меня есть событие, которое говорит "Пример сообщения журнала"! Yeahh!

Однако как часть сообщения я также получил: (текст переведен Google)

Объяснение события с кодом 101 из источника "Приложение" не найдено. Компонент, вызвавший это событие, не установлен на локальном компьютере или установка повреждена. Установите компонент на локальный компьютер или отремонтируйте компонент.

Если событие происходит с другого компьютера, необходимо сохранить отображаемую информацию вместе с событием.

Событие содержит следующую информацию:

Пример сообщения журнала

Ресурс сообщения существует, но сообщение не может быть найдено в таблице сообщений.

Что означает это сообщение?

Моя цель - просто написать какое-то сообщение в средство просмотра событий для последующей отладки (очевидно, приведенный выше код является просто ложным примером, а не тем способом, которым я собираюсь его окончательно использовать)

1 Ответ

0 голосов
/ 25 января 2019

звучит так, как будто вы новичок в регистрации событий. Итак, позвольте мне объяснить, как это работает. Для записи в журнал событий вам понадобится Источник события . Вы не можете писать в журнал событий без него. В этом примере вы упомянули источник как Приложение, и у вас нет настраиваемого источника событий для консольного приложения, которое вы разработали. Таким образом, окна будут использовать журнал приложений.

Что касается вашего вопроса, то к каждому источнику событий должен быть прикреплен файл eventMessageFile, который дает объяснение того, о чем идет речь. В вашем случае у вас нет прикрепленного файла eventMessageFile. Следовательно, вы получаете эту ошибку. Безопасно игнорировать это сообщение для фиктивного тестирования и добавлять eventMessageFile при создании приложения.

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

Источники:
Источники событий
EventMessageFile

...