无法查看 Azure 中托管 WebApp 的日志

问题描述 投票:0回答:1

我在 Azure 中有一个 ASP.NET Core MVC 应用程序。我已经在 MVC 中实现了日志,我想在其中捕获信息日志和错误日志。因此,当需要时,开发人员可以在 Azure 门户中查看日志。为了做到这一点,我遵循了一些教程并从 stackoverflow 论坛获得了帮助,并多次尝试了不同的方法,但我无法在文件系统中看到错误日志。我的目标是使用文件系统查看文件的信息日志和错误。因为有很多方法可以查看错误,但我不想只看到错误,而是想看到信息以及我想在文件中看到的信息。请参阅下图了解 Azure 中的代码和设置。

--Appsetting.json

--捕获错误的代码。该方法调用另一个方法,这肯定会出错。我使用诊断法来尝试是否可以捕获日志文件中的信息。但是,我有其他代码确实有 _loggger.logInformation("信息在此处") 的代码

--部署完成后开启Azure中的文件系统登录。

--home>Logfiles>Application 下文件的 Kudu 视图。除了视图之外,我还检查了其他文件夹中的文件,以防万一文件是在其他位置创建的但没有创建文件。

所以请帮忙。

azure asp.net-core azure-log-analytics azure-webapps
1个回答
0
投票

我可以使用您共享的相同代码记录信息和错误消息。

  • 将错误消息设置为
    (ex.Message,"Text")
    ,而不是
    (ex,"Text")
  • 如果您不想在 Application Insights 中检查日志,可以删除
    builder.Logging.AddApplicationInsights(); 
    行代码。

我的

Controller.cs

 [HttpGet(Name = "GetWeatherForecast")]
 public IEnumerable<WeatherForecast> Get()
 {
     try
     {
         _logger.LogInformation("Log Information from API");
         throw new Exception();
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message, "Errorrrrrrrrrrrr");
         _logger.LogError(ex.StackTrace);
         _logger.LogError("DEBUG: A NEW EXCEPTION without Ex");
         _logger.LogError(ex, "DEBUG ERROR: Error EXCEPTION with ex");
     }
     -----
 }

我的

appsettings.json
文件:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  }
}
  • 将应用程序部署到 Azure 应用服务后,在
    App Service logs
    中启用
    Application logging
    Web server logging
    Detailed error messages
    Failed request tracing
    ,如下所示。

enter image description here

  • 执行来自控制器的请求。

  • 现在检查 LogStream 中的日志和跟踪。

enter image description here

主页 > 日志文件 > 应用程序下文件的 Kudu 视图

  • 名称为
    Diagnostics-Logs
    的日志文件(我已在
    Program.cs
    文件中设置)将在
    C:\home\LogFiles\Application
    文件夹下创建。

enter image description here

  • 您在
    LogStream
    中看到的日志也可以在这里看到。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.