我正在尝试从第三方设置应用程序,这需要在我的本地IIS中托管支持网站 . 我已经按照安装指南中的说明创建了一个网站,但是我遇到了一些问题,并希望了解IIS日志的内容 . 令人尴尬的是,问题是我找不到日志文件!
所以我的问题是:IIS7默认存储日志在哪里?
我相信这是一种更简单的方法来了解IIS日志的位置,而不仅仅是假设一个默认位置:
转到您的IIS站点,例如默认,单击它,如果启用了日志记录,您应该看到右侧的“日志记录”:
打开它,你应该看到那里的文件夹:
别客气!
日志文件的默认位置的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
即
打开IIS管理器 .
在“连接”窗格中选择站点或服务器,
双击日志记录 .
可以在“目录”字段中找到该站点的日志文件的位置
EDIT: 正如Andy在下面的评论中指出的那样,您需要确保在安装IIS时选择启用HTTP日志记录,否则HTTP日志记录将不可用 .
更简单的方法是使用PowerShell,如下所示:
Get-Website yoursite | % { Join-Path ($_.logFile.Directory -replace '%SystemDrive%', $env:SystemDrive) "W3SVC$($_.id)" }
或简单地说
Get-Website yoursite | % { $_.logFile.Directory, $_.id }
如果你只需要自己的信息,不介意解析你的脑中的结果:) .
对于奖励积分,将 | ii 附加到第一个在资源管理器中打开的命令,或 | gci 列出该文件夹的内容 .
| ii
| gci
尝试Windows事件日志,可以有一些有用的信息
我在以下位置找到了IIS日志文件 .
C:\ inetpub \ logs \ LogFiles \
这有助于解决我的问题 .
我'm adding this answer because after researching the web, I ended up at this answer but still didn'知道要查看的IIS日志文件夹的哪个子文件夹 .
如果您的服务器有多个网站,则需要知道该网站的IIS ID . 在IIS中获取此功能的简单方法是只需单击左侧面板中的“站点”文件夹即可 . 右侧面板中显示了每个站点的ID .
一旦知道了ID,我们称之为n,相应的日志位于IIS logs文件夹的W3SVCn子文件夹中 . 因此,如果您的网站ID为4,并且IIS日志位于默认位置,则日志位于此文件夹中:
%SystemDrive%\inetpub\logs\LogFiles\W3SVC4
致谢:
@jishi的回答告诉默认日志的位置 .
@Rafid的回答解释了如何查找实际位置(可能不是默认位置) .
@Bergius的回答提供了一种编程方式来查找特定网站的日志文件夹位置,将ID考虑在内,而不使用IIS .
我认为IIS日志记录的默认位置是: c:\inetpub\wwwroot\log\w3svc
c:\inetpub\wwwroot\log\w3svc
我认为访问日志的默认位置是
否则,请在IIS管理器下检查,在左窗格中选择计算机,然后在中间窗格中,转到IIS区域中的“日志记录”下 . 在那里,您将获得所有站点的默认位置(但在所有站点上都可以覆盖)
你也可以调查一下
%SystemDrive%\Windows\System32\LogFiles\HTTPERR
其中包含仅代表错误的类似日志文件 .
启用Tracing可能是Windows事件日志的更好替代方案 . 这给了我修复自己的WebService所需的信息 .
9 回答
我相信这是一种更简单的方法来了解IIS日志的位置,而不仅仅是假设一个默认位置:
转到您的IIS站点,例如默认,单击它,如果启用了日志记录,您应该看到右侧的“日志记录”:
打开它,你应该看到那里的文件夹:
别客气!
日志文件的默认位置的100%正确答案是......
是的,您可以将其输入到资源管理器地址栏中 .
要100%确定,您需要查看IIS中的网站日志记录 .
https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-85/enhanced-logging-for-iis85
即
打开IIS管理器 .
在“连接”窗格中选择站点或服务器,
双击日志记录 .
可以在“目录”字段中找到该站点的日志文件的位置
EDIT: 正如Andy在下面的评论中指出的那样,您需要确保在安装IIS时选择启用HTTP日志记录,否则HTTP日志记录将不可用 .
更简单的方法是使用PowerShell,如下所示:
或简单地说
如果你只需要自己的信息,不介意解析你的脑中的结果:) .
对于奖励积分,将
| ii
附加到第一个在资源管理器中打开的命令,或| gci
列出该文件夹的内容 .尝试Windows事件日志,可以有一些有用的信息
我在以下位置找到了IIS日志文件 .
这有助于解决我的问题 .
我'm adding this answer because after researching the web, I ended up at this answer but still didn'知道要查看的IIS日志文件夹的哪个子文件夹 .
如果您的服务器有多个网站,则需要知道该网站的IIS ID . 在IIS中获取此功能的简单方法是只需单击左侧面板中的“站点”文件夹即可 . 右侧面板中显示了每个站点的ID .
一旦知道了ID,我们称之为n,相应的日志位于IIS logs文件夹的W3SVCn子文件夹中 . 因此,如果您的网站ID为4,并且IIS日志位于默认位置,则日志位于此文件夹中:
致谢:
@jishi的回答告诉默认日志的位置 .
@Rafid的回答解释了如何查找实际位置(可能不是默认位置) .
@Bergius的回答提供了一种编程方式来查找特定网站的日志文件夹位置,将ID考虑在内,而不使用IIS .
我认为IIS日志记录的默认位置是:
c:\inetpub\wwwroot\log\w3svc
我认为访问日志的默认位置是
否则,请在IIS管理器下检查,在左窗格中选择计算机,然后在中间窗格中,转到IIS区域中的“日志记录”下 . 在那里,您将获得所有站点的默认位置(但在所有站点上都可以覆盖)
你也可以调查一下
其中包含仅代表错误的类似日志文件 .
启用Tracing可能是Windows事件日志的更好替代方案 . 这给了我修复自己的WebService所需的信息 .