Microsoft.Extensions.Logging.AzureAppServices未显示在Azure日志流中

时间:2019-10-07 12:00:54

标签: azure asp.net-core logging azure-web-sites azure-app-service-envrmnt

我觉得我已经尽一切努力使日志消息显示在Azure门户中。

我在项目中安装了Microsoft.ApplicationInsights.AspNetCore个nuget软件包。

我禁止登录Azure门户。

enter image description here

我已将以下内容添加到我的AppSettings.json

"AzureLogging": {
    "FileName": "azure-diagnostics-",
    "FileSizeLimit": 50024,
    "RetainedFileCountLimit": 5
  }

并确保它已添加其中之一。

        services.Configure<AzureFileLoggerOptions>(options => 
        {
            options.FileName = "azure-diagnostics-";
            options.FileSizeLimit = 50 * 1024;
            options.RetainedFileCountLimit = 5;
        });

我唯一能在日志中找到的信息如下:

enter image description here

1 个答案:

答案 0 :(得分:1)

在Startup.cs-> Configure方法中,应添加以下代码行:

loggerFactory.AddAzureWebAppDiagnostics();
loggerFactory.AddConsole();

这是我的Startup.cs中的Configure方法的代码:

        public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            //add the following 2 lines of code.
            loggerFactory.AddAzureWebAppDiagnostics();
            loggerFactory.AddConsole();


            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();

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

发布到天蓝色后->启用应用程序日志记录(文件系统),然后在日志流中,我可以看到日志的输出(我在测试中将日志级别设置为详细):

enter image description here