在哪里可以找到IIS日志?


325

我正在尝试从第三方建立应用程序,这需要在我的本地IIS中托管的支持网站。我已经按照其安装指南中的说明完全创建了一个网站,但是遇到了一些问题,并且希望了解IIS日志的内容。令人尴尬的是,问题是我找不到日志文件!

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

Answers:


496

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

%SystemDrive%\inetpub\logs\LogFiles

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

您也可以研究

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

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


1
谢谢,这似乎合乎逻辑,但是logs目录为空。我可能需要以某种方式打开日志记录,但是在IIS管理器的中间面板中找不到关于日志记录的任何信息。
Kjartan

66
如果找不到,则未安装。您需要启动,Programs and Features然后点击Turn Windows features on or off左侧,然后选择Internet Information Services\World Wide Web Services\Health and Diagnostics\HTTP Logging
jishi

1
优秀的!现在,至少我有日志了。太可惜了,他们并没有真正给我我想要的答案,但至少我学到了一些东西。再次感谢!
Kjartan

3
我相信后一个路径(... \ HTTPERR)是http.sys生成的日志文件默认登陆的地方,而不是IIS本身的日志文件。请参阅:technet.microsoft.com/en-us/library/cc784703%28v=ws.10%29.aspx
Jon Schneider

3
如果您正在寻找错误消息,则此日志无用。
Vasil Valchev

96

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

转到您的IIS站点,例如Default,单击它,如果启用了日志记录,则应该在右侧看到“ Logging”:

在此处输入图片说明

打开它,您应该会在其中看到该文件夹​​:

在此处输入图片说明

别客气!


5
在IIS10上,“日志记录”功能要求至少World Wide Web Services -> Health and Diagnostics -> HTTP Logging安装Windows功能。否则它将不会显示。
帕西·萨沃拉宁

如果没有出现“日志记录”图标怎么办?我在本地找不到日志文件-我的机器上似乎没有路径。
安迪

80

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

如果您的服务器有多个网站,则需要知道该站点的IIS ID。在IIS中轻松实现此目的的简单方法是,只需单击左侧面板中的Sites文件夹。每个站点的ID显示在右侧面板中。

知道ID后,我们将其称为n,相应的日志位于IIS日志文件夹的W3SVC n子文件夹中。因此,假设您的网站ID为4,并且IIS日志位于默认位置,则日志位于此文件夹中:

%SystemDrive%\inetpub\logs\LogFiles\W3SVC4

致谢:

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

8
关于IIS中的网站ID的观点非常重要,以便查看正确的日志文件。
Moises Quintero Orea '16

3
在“连接”面板中选择站点后,我通过单击“动作”面板中的高级设置找到了ID。
Stagg

15

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

%SystemDrive%\inetpub\logs\LogFiles

是的,您可以将其输入到资源管理器地址栏中,它将起作用。

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

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

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

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

启用HTTP记录


这不是100%的答案...我在该路径下没有目录,但是我有IIS 7.5。在人们说存在的所有这些路径中,我都找不到我的日志文件。
安迪

2
@Andy您是否已阅读答案的第二部分,并在IIS中检查了网站的配置?
米克

2
我在“程序和功能”>“打开或关闭Windows功能”中缺少必需的“ HTTP日志记录”模块。在上面找到了关于此的注释,并创建了LogFiles目录。感谢您的跟进。
安迪

10

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

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

或简单地

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

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

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


7

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


2
事件日志可能会在网站上发生任何页面错误。
jishi

20
似乎是个好主意,但是这里有很多信息,我似乎找不到与IIS相关的任何信息。是否有任何指针指向事件查看器中的显示位置,或如何最好地过滤那里的信息?
Kjartan

7
-1,原因:这个答案太笼统了。请提供详细说明,以便在事件日志中的何处可以找到信息,或如何对其进行过滤,否则,鉴于事件日志中日志中的大量日志,很难找到相关日志。
lanoxx

在Windows日志>系统(在我的情况下为错误的SSL配置)中找到了我的问题(仅在* .woff文件上关闭连接)的
原因-the_nuts

3

启用跟踪可能是Windows事件日志的更好选择。这给了我修复自己的WebService所需的信息。


3

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


0

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

C:\ inetpub \ logs \ LogFiles \

这有助于解决我的问题。


我刚刚提供了IIS日志文件在服务器上的默认路径。如果您可以阅读问题。它是“ IIS7默认将日志存储在哪里?” :(
Hiren Parghi,

0

C:\ inetpub \ logs \ LogFiles

检查前往网站的网站的身份和高级设置

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.