Asp. net core 502.5 - Ошибка сбоя процесса при развертывании - проблема с журналированием - PullRequest
0 голосов
/ 14 февраля 2020

Мне нужна помощь, чтобы заставить работать логи на моем asp. net ядре, mvc версии 2.1. Мне удалось заставить сайт успешно записывать ошибки в журнал событий, но только в Application / Application EventLog / Source. Я надеялся установить для Source значение «MySite», чтобы я мог легко фильтровать журналы.

Вот мой код Program.cs, который выдает ошибку 502.5 при развертывании:

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
            var eventLogSettings = new EventLogSettings();
            eventLogSettings.SourceName = "MySite";

            logging.AddEventLog(eventLogSettings);
            logging.AddConsole();
            logging.AddDebug();
            logging.AddEventSourceLogger();
        })
            .UseIISIntegration()
            .UseStartup<Startup>();

Когда Я развертываю сайт и go на странице / home / index, я получаю ошибку 502.5 и вижу следующую ошибку, зарегистрированную в средстве просмотра событий:

Приложение: do tnet .exe Версия CoreCLR: 4.6.27019.6 Описание: процесс был прерван из-за необработанного исключения. Информация об исключении: System.AggregateException: при записи в журнал (ы) произошла ошибка. (Источник не был найден, но не удалось найти некоторые или все журналы событий. Чтобы создать источник, необходимо разрешение на чтение всех журналов событий, чтобы убедиться, что новое имя источника уникально. Недоступные журналы: безопасность.) - -> System.Security.SecurityException: источник не найден, но не удалось найти некоторые или все журналы событий. Чтобы создать источник, вам нужно разрешение на чтение всех журналов событий, чтобы убедиться, что новое имя источника уникально. Недоступные журналы: безопасность. в System.Diagnostics.EventLog.FindSourceRegistration (String source, String machineName, Boolean readOnly, Boolean wantToCreate) в System.Diagnostics.EventLog.SourceExists (String source, Строковое machineName, логическое значение wantToCreate)

Что я не знаю?

1 Ответ

0 голосов
/ 14 февраля 2020

Ну, это было прямо там, за исключением, черт возьми. CoreCLR взрывался, когда пытался проверить источник, которого не было на сервере. Я создал источник, выполнив следующую команду в powershell от имени администратора: [System.Diagnostics.EventLog] :: CreateEventSource («MySite», «Application»)

После этого сайт работал нормально и ошибки от него есть источник "MySite".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...