如何在已发布的asp.net Core项目中启用日志记录?

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

[我在iis伺服器中发布了asp.net核心网络api,当我在浏览器中测试应用程序时出现502.5错误。

我搜索了如何找到解决方案,发现我需要通过将stdoutLogEnabled =“ false”更改为true来启用日志记录。

 <?xml version="1.0" encoding="utf-8"?>
    <configuration>
       <location path="." inheritInChildApplications="true">
       <system.webServer>
         <handlers>
         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
  </handlers>
      <aspNetCore processPath="dotnet" arguments=".\WsAZProjet.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
      </system.webServer>
      </location>
    </configuration>
<!--ProjectGuid: baf7ef69-c0ff-4e36-b69c-71ad3fd869b9-->

我在iis serveur中进行了更改,并在浏览器中重新测试了该应用程序,但是我没有生成日志目录,所以我认为我应该在代码中进行配置,然后重新发布该应用程序?

您对如何启用已发布应用程序的日志记录有任何想法吗?我应该重新启动iis才能正常工作吗?

更新

搜索后,我发现需要手动创建logs文件夹的here,我这样做并再次测试了该应用程序,但在该文件夹下得到了一个log_stdout文件,但它是空的!?

asp.net-core iis visual-studio-2017 asp.net-core-2.2
1个回答
0
投票

已解决,here错误的原因:

不正确的proecessPath,缺少PATH变量或dotnet.exe访问冲突

浏览器:HTTP错误502.5-进程失败

应用程序日志:无法使用命令行“ dotnet”。\ my_application.dll”(便携式应用程序)或“”。\ my_application_Foo.exe””(自包含应用程序)启动进程,ErrorCode =“ 0x80070002”。

ASP.NET Core模块日志:日志文件已创建但为空

故障排除:检查web.config中元素上的processPath属性,以确认它是用于便携式应用程序的dotnet或用于独立应用程序的。\ my_application.exe。对于便携式应用程序,可能无法通过PATH设置访问dotnet.exe。确认系统路径设置中存在C:\ Program Files \ dotnet \。对于便携式应用程序,可能无法通过应用程序池的用户身份访问dotnet.exe。确认AppPool用户身份可以访问C:\ Program Files \ dotnet目录。

我昨天将我的processPath设置为C://ProgramFiles/dotnet.exe,将其更改为dotnet即可解决问题,现在我获得了日志文件信息。

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