ASP.NET Core 2.2+IIS:在服务器上的IIS中,我在哪里可以看到应用程序的日志(ILogger)



我使用ASP.NET Core内置记录器提供程序(ILogger(,但不知道在哪里可以在远程IIS服务器上看到日志

这取决于您使用的记录器。默认控制台记录器不会创建持久日志。您可以使用Windows事件日志,或者添加第三方记录器(如Serilog(以获得持久日志。

请参阅有关日志记录的文档https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-2.1

在页面的底部,它谈到了内置的记录器。但其他第三方记录器也可用。您可以使用多个记录器。

我来这里是为了在文件中查看ASP.NET Core 6.0应用程序的日志输出。根据文件:ASP.NET Core不包括用于将日志写入文件的日志记录提供程序。若要从ASP.NET Core应用程序向文件写入日志,请考虑使用第三方日志记录提供程序。

然而,我们发现我们可以通过使用控制台提供程序将日志写入文件:

Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
});

并在web.config中启用stdoutLoging:

<aspNetCore processPath="dotnet" arguments=".myapp.dll" stdoutLogEnabled="true" stdoutLogFile=".logsstdout" hostingModel="inprocess" />

不确定这是否是最好的长期方法,但它将有助于快速排除故障。如果尝试此操作,请确保要写入的文件夹存在,并且IIS_IUSRS具有写入权限。

相关内容

最新更新