Ядро ILogger Asp.net не регистрирует уровень журнала «Информация» на IIS 8 - PullRequest
0 голосов
/ 04 июня 2018

Я развернул веб-приложение Asp.net Core 2 в Windows Server 2012 с использованием IIS 8.

Я не могу записать «информацию» в файл журнала, он только регистрирует «Предупреждения».Я создал собственный регистратор по этой ссылке:

https://www.infoworld.com/article/3235249/application-development/how-to-work-with-logging-in-aspnet-core.html

Он выполняет запланированную работу при развертывании на моем локальном хосте.Я также включил разрешение, поэтому некоторые журналы работают, например, журналы stdout.

Однако для ведения записи я хочу также сохранить другие важные журналы.

Ниже приведенснимок экрана с моим файлом журналов Log File on IIS Фрагмент кода: в StartUp.cs настроить метод

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, 
        ILoggerFactory loggerFactory )
    {

        app.UseSession();
        if (env.IsDevelopment())
        {
            app.UseBrowserLink();
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        loggerFactory.AddProvider(new CustomLoggerProvider(new CustomLoggerProviderConfiguration
        {
            LogLevel = LogLevel.Information
        },env.ContentRootPath));

        app.UseStaticFiles();

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=test}/{action=test}/{id?}");
        });
    }

Фрагмент кода: Функция, которая фактически создает файл

        private void WriteToLog(string message)
    {

        ////When Date change create new file.
        string filePath = _hostingPath + "\\test\\" + "Web_" + DateTime.Today.ToString("yyyy_MM_dd") + ".txt";

        FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write, FileShare.Write);
        using (StreamWriter streamWriter = new StreamWriter(fs))
        {
            streamWriter.WriteLine(message);
            streamWriter.Close();
        }
    }

Кроме того, я знаю, что не рекомендуется хранить журналы на сервере, так как это занимает дополнительное время.Есть ли какой-либо другой подход, который можно предложить для хранения журналов, пожалуйста, скажите?

Кроме того, я был бы признателен за помощь в этом вопросе LogLevel "Информация" не отображается в IIS.

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