gpt4 book ai didi

c# - 为什么即使在 Azure 中配置所需的设置后,我也看不到应用服务中的日志?

转载 作者:行者123 更新时间:2023-12-03 00:08:09 25 4
gpt4 key购买 nike

我的 Web 应用程序中有以下两条语句,使用 NET Core 构建

System.Diagnostics.Trace.TraceError("header:" + certHeader);

_logger.LogInformation("Certificate with thumbprint");

我已将其发布到 Azure App Service,这是我的设置

enter image description here

当我尝试使用kudu scm查看它时,Application文件夹仍然是空的

enter image description here

我什至尝试使用 Visual Studio 中的查看流日志选项。它没有打印任何日志:(

enter image description here

这是 web.config

  <?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="true" startupTimeLimit="3600"/>
</system.webServer>

那么我到底在哪里可以看到我的日志呢?

我相信如果响应状态为 200 OK,Trace 可能不会记录?只是猜测

最佳答案

在 ASP.NET Core Web 应用程序中,我们使用 ILogger 进行日志记录。更多详情请参阅here .

您在azure门户中的设置没问题,只需在您的项目中添加一些代码即可,示例如下:

在 Startup.cs -> 配置方法中,该方法如下所示(此处使用 ILoggerFactory):

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory logger)
{
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}

//add the following two lines of code
logger.AddConsole();
logger.AddDebug();

app.UseStaticFiles();

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

然后在controller.cs中:

      public class HomeController : Controller
{
private readonly ILogger _logger;
public HomeController(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<HomeController>();
}

public IActionResult Index()
{
return View();
}

public IActionResult About()
{
_logger.LogInformation("ILogger --- this is from contact page!!!! info");
_logger.LogError("ILogger --- this is from contact page xxxx error");

return View();
}

//other code
}

您还可以更改项目中appsettings.json文件中的日志级别,默认级别为警告。

发布到azure后,可以在Log Stream中看到ILogger记录的日志。 enter image description here

关于c# - 为什么即使在 Azure 中配置所需的设置后,我也看不到应用服务中的日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53774108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com