ASP.NET Core应用程序日志不能写入Azure应用程序服务中的Blob

我已经为Azure上的应用程序服务启用了应用程序日志记录。

  • 我可以从Azure门户查看日志流中的日志
  • 我可以看到在创建的Azure存储帐户中每小时都会创建一个像xxxxx-#####.applicationLog.csv这样的文件,但该文件实际上并不包含我的应用程序日志
  • 我试图启用Web服务器日志记录到相同的帐户存储,并且确实工作 - 我可以在不同的文件中看到HTTP请求的日志
  • 我试图创建一个新的存储帐户并指向它的日志,但它没有改变任何东西
  • 配置细节:

  • 该应用程序使用在.NET Framework 4.6.1上运行的ASP.NET Core 2
  • 我通过以下方式在Program.cs配置日志记录: .ConfigureLogging(log => log.AddAzureWebAppDiagnostics()) (在.NET Framework而不是.NET Core运行时运行时显然是必需的)
  • 总结:当我在Azure门户中以这种方式配置Azure存储时,不会创建包含我的应用程序日志的文件。


    如果我们想要将应用程序日志写入Azure blob存储,首先我们需要在Azure门户上启用应用程序日志并为其配置blob存储。

    在这里输入图像描述

    我们可以按照博客在Asp.net核心应用中设置日志记录。

    在ASP.NET Core应用程序中设置日志记录不需要太多代码。 ASP.NET Core新项目模板已经在Startup.Configure方法中使用此代码设置了一些基本的日志记录提供程序:

    loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
    loggerFactory.AddDebug();
    

    我也做了演示。 它在我身边正常工作。

    1.在Sartup.cs文件中添加以下代码

     loggerFactory.AddConsole(Configuration.GetSection("Logging"));
                loggerFactory.AddDebug();
                loggerFactory.AddAzureWebAppDiagnostics(
                    new AzureAppServicesDiagnosticsSettings
                    {
                        OutputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss zzz} [{Level}] {RequestId}-{SourceContext}: {Message}{NewLine}{Exception}",
    
                    }
                );
    

    2.在HomeController.cs中添加以下代码

     private readonly ILogger _logger;
     public HomeController(ILoggerFactory loggerFactory)
     {
         _logger = loggerFactory.CreateLogger<HomeController>();
     }
    
     public IActionResult Index()
     {
        _logger.LogInformation("Log information");
        _logger.LogError("Logger error");
        return View();
     }
    

    在这里输入图像描述

    3.访问主页/索引页面并从Azure存储区检查它。 日志blob名称的最后一部分。 默认为“ applicationLog.txt ”。 我们也可以设置它的ourseleves。

    在这里输入图像描述

    链接地址: http://www.djcxy.com/p/66115.html

    上一篇: ASP.NET Core Application Logs Not Written To Blob in Azure App Service

    下一篇: Usage analytics limitations for my azure server using Application Insights