添加web后没有创建调试日志文件.配置为ASP.. NET Core 3.1 MVC部署



我有一个问题,我的ASP。. NET Core 3.1 MVC web应用程序在IIS Windows服务器上发布后无法从SQL Server检索数据。我想查看日志文件以调试错误。

首先我配置web。配置文件到开发模式

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".BookListMVC.dll" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" hostingModel="inprocess" >
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 828f3e4a-8c05-4c79-8216-5b5d5358d740-->

我在web检查中找不到任何调试信息。

之后,我阅读了微软的文档https://learn.microsoft.com/en us/aspnet/core/host -和- deploy/iis/logging diagnostics?view=aspnetcore - 7.0, viewFallbackFrom = aspnetcore - 3.1

和我已经配置了web.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".BookListMVC.dll" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" hostingModel="inprocess">
<handlerSettings>
<handlerSetting name="debugFile" value=".logsaspnetcore-debug.log" />
<handlerSetting name="debugLevel" value="FILE,TRACE" />
</handlerSettings>
</aspNetCore>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 828f3e4a-8c05-4c79-8216-5b5d5358d740-->

我想日志文件将在我加载部署的web应用程序后生成,但它没有。

本地文件夹图像

可以任何专家帮助如何做调试为我的web应用程序?

在我的本地pc上,web应用程序在IISExpress localhost中表现良好。问题是在我发布并将其传输到本地网络的窗口服务器中部署后出现的。

根据您的代码,您应该将stdoutlogenabled = true。排除故障后将其更改为false。

我看到你的本地文件夹映像,你必须手动创建日志文件夹。IIS不会为您生成此文件夹。

另外,还可能出现创建文件夹后没有生成日志文件的情况。因为IIS没有权限写入日志文件夹。

  • 右键单击文件夹到安全。
  • 确保IIS_IUSRS用户具有以下权限:读和执行,列表,写入。

最新更新