【问题标题】:IIS: Where can I find the IIS logs?IIS:在哪里可以找到 IIS 日志?
【发布时间】:2023-03-15 20:00:01
【问题描述】:

我正在尝试设置来自第三方的应用程序,这需要在我的本地 IIS 中托管的支持网站。我已经完全按照他们的安装指南中的说明创建了一个网站,但是遇到了一些问题,并且想看看 IIS 日志的内容。很尴尬,问题是我找不到日志文件!

所以我的问题是:IIS7 默认在哪里存储日志?

【问题讨论】:

    标签: iis logging iis-7 diagnostics


    【解决方案1】:

    我认为访问日志的默认位置是

    %SystemDrive%\inetpub\logs\LogFiles
    

    否则,请检查 IIS 管理器,在左侧窗格中选择计算机,然后在中间窗格中,进入 IIS 区域的“日志记录”下。您将在此处设置所有站点的默认位置(但在所有站点上都可以覆盖)

    你也可以看看

    %SystemDrive%\Windows\System32\LogFiles\HTTPERR
    

    其中将包含仅代表错误的类似日志文件。

    【讨论】:

    • 谢谢,这似乎合乎逻辑,但日志目录是空的。我可能需要以某种方式打开日志记录,但在 IIS 管理器的中间面板中找不到任何关于日志记录的信息。
    • 如果没有找到,说明没有安装。您需要启动Programs and Features,然后点击左侧的Turn Windows features on or off,然后选择Internet Information Services\World Wide Web Services\Health and Diagnostics\HTTP Logging
    • 太棒了!现在我至少有日志了。太糟糕了,他们并没有真正给我想要的答案,但至少我学到了一些东西。再次感谢!
    • 我相信后一个路径 (...\HTTPERR) 是 http.sys 默认生成的日志文件的位置,而不是来自 IIS 本身的日志文件。见:technet.microsoft.com/en-us/library/cc784703%28v=ws.10%29.aspx
    • 如果您正在查找错误消息,则此日志无用。
    【解决方案2】:

    我相信这是了解 IIS 日志位置的一种更简单的方法,而不是仅仅假设默认位置:

    转到您的 IIS 站点,例如默认,点击它,如果启用日志记录,您应该会在右侧看到“日志记录”:

    打开它,您应该会在此处看到文件夹:

    不客气!

    【讨论】:

    • 在 IIS10 上,“日志”功能要求至少安装 World Wide Web Services -> Health and Diagnostics -> HTTP Logging windows 功能。否则不会显示。
    • 如果日志图标没有出现怎么办?我在本地找不到我的日志文件 - 我的机器上似乎不存在任何路径。
    【解决方案3】:

    我添加这个答案是因为在研究了网络之后,我最终得到了这个答案,但仍然不知道要查看 IIS 日志文件夹的哪个子文件夹

    如果您的服务器有多个网站,您需要知道该网站的 IIS ID。在 IIS 中获得此功能的一种简单方法是单击左侧面板中的 Sites 文件夹。每个站点的 ID 显示在右侧面板中。

    一旦知道了 ID,我们就称它为 n,相应的日志在 IIS 日志文件夹的 W3SVCn 子文件夹中。因此,如果您的网站 ID 为 4,并且 IIS 日志位于 default 位置,那么日志位于此文件夹中:

    %SystemDrive%\inetpub\logs\LogFiles\W3SVC4
    

    致谢:

    • @jishi 的回答告诉您默认情况下日志的位置。
    • @Rafid 的回答解释了如何找到实际位置(可能不是默认位置)。
    • @Bergius 的回答提供了一种编程方式,可以在不使用 IIS 的情况下,在考虑 ID 的情况下查找特定网站的日志文件夹位置。

    【讨论】:

    • 为了查看正确的日志文件,您关于 IIS 中网站 ID 的观点非常重要。
    • 在“连接”面板中选择站点后,通过单击“操作面板”中的高级设置找到了 ID。
    【解决方案4】:

    日志文件默认位置的 100% 正确答案是...

    %SystemDrive%\inetpub\logs\LogFiles
    

    是的,您可以在资源管理器地址栏中输入它。

    为了 100% 确定,您需要查看 IIS 中网站的日志记录。

    https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-85/enhanced-logging-for-iis85

    1. 打开 IIS 管理器。
    2. 在“连接”窗格中选择站点或服务器,
    3. 双击日志记录。
    4. 站点日志文件的位置可以在目录字段中找到

    编辑:正如 Andy 在下面的 cmets 中指出的,您需要确保在安装 IIS 时选择启用 HTTP 日志记录,否则 HTTP 日志记录将不可用。

    【讨论】:

    • 这不是 100% 的答案...我在该路径上没有目录,但我有 IIS 7.5。在人们所说的存在的任何这些路径中,我都找不到我的日志文件。
    • @Andy 您是否阅读了答案的后半部分并检查了 IIS 中网站的配置?
    • 我在“程序和功能”>“打开或关闭 Windows 功能”中缺少必需的“HTTP 日志记录”模块。在上面找到了关于此的评论,它创建了 LogFiles 目录。感谢您的跟进。
    【解决方案5】:

    更简单的方法是使用 PowerShell,如下所示:

    Get-Website yoursite | % { Join-Path ($_.logFile.Directory -replace '%SystemDrive%', $env:SystemDrive) "W3SVC$($_.id)" }
    

    或者干脆

    Get-Website yoursite | % { $_.logFile.Directory, $_.id }
    

    如果您只需要自己的信息并且不介意在大脑中解析结果:)。

    要获得奖励积分,请将| ii 附加到要在资源管理器中打开的第一个命令,或附加| gci 以列出文件夹的内容。

    【讨论】:

      【解决方案6】:

      试试 Windows 事件日志,会有一些有用的信息

      【讨论】:

      • 事件日志可能会包含网站上发生的任何页面错误。
      • 似乎是个好主意,但这里有很多信息,我似乎找不到任何与 IIS 相关的信息。关于在事件查看器中查看位置的任何指针,或者如何最好地过滤那里的信息?
      • -1,原因:这个答案太笼统了。请详细说明在事件日志中可以找到信息的位置,或者如何过滤信息,否则由于事件日志中的日志量很大,很难找到相关日志。
      • 在 Windows 日志 > 系统中找到了我的问题的原因(连接仅在 *.woff 文件上关闭)(在我的情况下是错误的 SSL 配置)
      【解决方案7】:

      启用Tracing 可能是Windows 事件日志的更好替代方案。这为我提供了修复自己的 WebService 所需的信息。

      【讨论】:

        【解决方案8】:

        我认为 IIS 日志记录的默认位置是:c:\inetpub\wwwroot\log\w3svc

        【讨论】:

          【解决方案9】:

          我在以下位置找到了 IIS 日志文件。

          C:\inetpub\logs\LogFiles\

          这有助于解决我的问题。

          【讨论】:

          • 我刚刚提供了 IIS 日志文件在服务器上的默认路径。如果你能读懂这个问题。是“IIS7默认在哪里存储日志?” :(
          【解决方案10】:

          C:\inetpub\logs\LogFiles

          检查访问站点的身份和高级设置

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-07-02
            • 2019-03-25
            • 2018-10-31
            • 2019-11-11
            • 1970-01-01
            • 1970-01-01
            • 2010-12-24
            • 2019-06-03
            相关资源
            最近更新 更多