如何查看 Azure 应用服务日志文件?

How can I view the Azure App Service log files?

Visual Studio 2019 中的默认 API 示例实例化了一个 ILogger<T>。如果我通过 _logger.Log(LogLevel.Information, "hello") 调用它,我该如何查看日志文件?此问题假定使用 Azure App Service。

namespace WebApplication1.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }
    }
}
  1. 您可以在 Cloud Shell 中实时流式传输日志,使用以下命令:

    az webapp log tail --name appname --resource-group myResourceGroup

  2. 或者您可以导航到您的应用程序和 select 日志流。

我正在分享 Azure 应用服务中的 Azure 门户步骤及其所需的代码。

  1. 首先通过应用服务日志选项启用日志记录

  2. 然后通过 'Log Stream' 选项查看实时日志

  3. 同时分享我对 .netcore 3.1 的代码更改

    使用Microsoft.Extensions.Configuration; 使用 Microsoft.Extensions.Hosting; 使用 Microsoft.Extensions.Logging; 使用 Microsoft.Extensions.Logging.EventLog;

     namespace MPRC.Common.SAMPLE
     {
         public class Program
         {
             public static void Main(string[] args)
             {
                 CreateHostBuilder(args).Build().Run();
             }
    
             public static IHostBuilder CreateHostBuilder(string[] args) =>
                 Host.CreateDefaultBuilder(args)
                     .ConfigureLogging((hostingContext, logging) =>
                     {
                         logging.ClearProviders();
                         logging.AddConfiguration(..sample...);                    
                         logging.AddEventLog(new EventLogSettings()
                         {
                         //...........
                         });
                         logging.AddConsole();
                         logging.AddAzureWebAppDiagnostics();
                     })
                     .ConfigureWebHostDefaults(webBuilder =>
                     {
                         webBuilder.UseStartup<Startup>();
                     });
    
  4. 记下logging.AddAzureWebAppDiagnostics();在上面的代码中