我正试图从第三方安装一个应用程序,这需要在我的本地IIS中托管一个支持网站。我已经创建了一个网站完全解释在他们的安装指南,但我有一些问题,并想看看IIS日志说什么。非常尴尬的是,问题是我找不到日志文件!

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


当前回答

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

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

或者简单地

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

如果你只是需要自己的信息,不介意在你的大脑中分析结果:)。

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

其他回答

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

%SystemDrive%\inetpub\logs\LogFiles

否则,在IIS管理器下检查,在左侧窗格中选择计算机,在中间窗格中,在IIS区域中单击“日志”。在那里你会看到所有网站的默认位置(然而这是可覆盖所有网站)

你也可以看看

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

它将包含类似的只表示错误的日志文件。

我添加这个答案是因为在研究了web之后,我最终得到了这个答案,但仍然不知道该在IIS logs文件夹的哪个子文件夹中查找。

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

知道ID后,我们称其为n,相应的日志位于IIS logs文件夹的W3SVCn子文件夹中。所以,如果你的网站ID是4,并且IIS日志在默认位置,那么日志在这个文件夹中:

%SystemDrive%\inetpub\logs\LogFiles\W3SVC4

Acknowlegements:

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

尝试Windows事件日志,可以得到一些有用的信息

我相信这是一种更简单的方法来知道你的IIS日志在哪里,而不仅仅是假设一个默认的位置:

进入你的IIS站点,例如Default,点击它,如果启用了日志,你应该看到“Logging”在右边:

打开它,你应该看到文件夹就在那里:

不客气!

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

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

或者简单地

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

如果你只是需要自己的信息,不介意在你的大脑中分析结果:)。

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