ASP.NET Core 2.2 + IIS:在服务器上的 IIS 中,我在哪里可以看到我的应用程序的日志 (ILogger)?
ASP.NET Core 2.2 + IIS: Where can I see logs (ILogger) for my app in IIS on server?
我使用 ASP.NET 核心内置记录器提供程序 (ILogger),但不明白我在哪里可以看到远程 IIS 服务器上的日志
这取决于您使用的记录器。默认控制台记录器不创建持久日志。
您可以使用 Windows 事件日志,或添加第 3 方记录器,如 Serilog 以获得持久日志。
查看有关日志记录的文档https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-2.1
页面底部讨论了内置记录器。但其他第 3 方记录器也可用。您可以使用多个记录器。
我来这里是为了寻找一种方法来查看文件中我的 ASP.NET Core 6.0 应用程序的日志输出。根据 the docs:
ASP.NET Core 不包含用于将日志写入文件的日志记录提供程序。要从 ASP.NET 核心应用程序将日志写入文件,请考虑使用第三方日志记录提供商。
但是,我们发现我们可以使用控制台提供程序将日志写入文件:
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
});
并在 web.config:
中启用 stdoutLoging
<aspNetCore processPath="dotnet" arguments=".\myapp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
不确定这是否是最好的长期方法,但它有助于快速排除故障。如果您尝试这样做,请确保您要写入的文件夹存在并且 IIS_IUSRS 具有写入权限。
我使用 ASP.NET 核心内置记录器提供程序 (ILogger),但不明白我在哪里可以看到远程 IIS 服务器上的日志
这取决于您使用的记录器。默认控制台记录器不创建持久日志。 您可以使用 Windows 事件日志,或添加第 3 方记录器,如 Serilog 以获得持久日志。
查看有关日志记录的文档https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-2.1
页面底部讨论了内置记录器。但其他第 3 方记录器也可用。您可以使用多个记录器。
我来这里是为了寻找一种方法来查看文件中我的 ASP.NET Core 6.0 应用程序的日志输出。根据 the docs: ASP.NET Core 不包含用于将日志写入文件的日志记录提供程序。要从 ASP.NET 核心应用程序将日志写入文件,请考虑使用第三方日志记录提供商。
但是,我们发现我们可以使用控制台提供程序将日志写入文件:
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
});
并在 web.config:
中启用 stdoutLoging<aspNetCore processPath="dotnet" arguments=".\myapp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
不确定这是否是最好的长期方法,但它有助于快速排除故障。如果您尝试这样做,请确保您要写入的文件夹存在并且 IIS_IUSRS 具有写入权限。