You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC 2.0部署IIS后,ILogger日志写入位置咨询

ASP.NET Core MVC 2.0 IIS部署下ILogger日志的输出位置

你在代码里配置了AddConsole()和AddDebug()两个日志提供者,在IIS部署环境下,它们的日志输出路径和你预期的不太一样,具体情况如下:

控制台日志(AddConsole())

在IIS上运行ASP.NET Core应用时,控制台日志不会显示在普通的命令行窗口,也不会被写入到IIS默认的%SystemDrive%\inetpub\logs\LogFiles请求日志目录里。它默认会输出到IIS进程的标准输出流,但不会自动保存成文件。

如果要把这些日志持久化下来,你可以:

  • 给站点的web.config添加stdout重定向配置,让日志写入到指定文件:
    <aspNetCore processPath="dotnet" arguments=".\YourApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
    
    记得要提前创建logs目录,并确保应用进程有该目录的写入权限,日志会以日期命名的文件保存在这里。
  • 集成第三方日志库(比如Serilog、NLog),这类库提供了直接写入文件的日志提供者,配置起来更灵活。

Debug日志(AddDebug())

这个提供者的日志只会输出到调试器的输出窗口——只有当你用Visual Studio远程附加到IIS上的应用进程进行调试时,才能在VS的“输出”面板里看到这些日志内容。如果没有附加调试器,这些日志就会丢失,不会被保存。

补充说明

你检查的%SystemDrive%\inetpub\logs\LogFiles是IIS自身的请求访问日志目录,只记录HTTP请求相关信息,不会包含你用ILogger输出的自定义日志内容。

内容的提问来源于stack exchange,提问作者Bob5421

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:24:12