В настоящее время я создаю службу Windows и только что понял (благодаря этому ответу), как настроить установщик службы, чтобы для создания настраиваемого источника журнала событий во время установки. Как я уже понял, для регистрации этих настраиваемых источников журнала событий требуются повышенные привилегии. И поэтому регистрация происходит во время установки - ведь установка сервиса всегда выполняется с повышенными привилегиями. Все идет нормально.
Однако я не на 100% удовлетворен этим решением, потому что, как указано в документации _ 1_:
Свойство Log для этого источника устанавливается конструктором ServiceInstaller для журнала приложений компьютера.
И я не этого хочу. Я хочу, чтобы события регистрировались в настраиваемом журнале MyCustomLog. Более того, я не могу просто установить ServiceBase.EventLog.Log
моей службы на «MyCustomLog». Как я могу индивидуально установить EventLog.Log
для моей службы? И где мне это делать?
Поскольку я еще не нашел ответа на свой вопрос, я подумал о создании настраиваемого представления для событий моей службы, которое должно было бы выглядеть так, как показано ниже:
Он не заменяет настраиваемый журнал событий, поскольку события по-прежнему регистрируются в журнале приложений, но он позволяет мне иметь обзор определенных событий, произошедших в моей службе, точно так же, как это было бы в настраиваемом журнале событий. Итак, как мне программно создавать такие настраиваемые представления? Это возможно? И если да, то где мне их создавать? Требуются ли для создания повышенные привилегии, поэтому его нужно делать внутри ServiceInstaller
? Или это можно легко сделать в конструкторе моего сервиса?
Буду признателен за ответы относительно осуществимости обоих подходов!
Source
(потому что установка его с помощьюServiceName
в установщике не сработает). Я мог бы поклясться, что написал здесь ответ об этом много лет назад, но не могу его найти. Возможно, я и здесь пропустил шаг или два, но я знаю, что это работает. - person Damien_The_Unbeliever   schedule 29.04.2020