Где я могу найти журналы IIS?


Я пытаюсь настроить приложение от третьей стороны, которая требует поддержки веб-сайта, размещенного в моем локальном IIS. Я создал веб-сайт точно так, как описано в их руководстве по установке, но у меня возникли некоторые проблемы, и я хотел бы посмотреть, что должен сказать журнал IIS. Как ни странно, проблема в том, что я не могу найти файлы журнала!

Итак, мой вопрос: где IIS7 хранит журналы по умолчанию?

9 292

9 ответов:

Я думаю, что это место по умолчанию для журналов доступа составляет

%SystemDrive%\inetpub\logs\LogFiles

в противном случае проверьте в Диспетчере IIS, выберите компьютер на левой панели, а в средней панели перейдите в раздел "ведение журнала" в области IIS. Там вы увидите расположение по умолчанию для всех сайтов (это, однако, переопределяется на всех сайтах)

вы также можете посмотреть в

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

который будет содержать аналогичные файлы журнала, которые представляют только ошибки.

Я считаю, что это более простой способ узнать, где находятся ваши журналы IIS, а не просто предполагать местоположение по умолчанию:

перейдите на свой сайт IIS, например, по умолчанию, нажмите на него, и вы должны увидеть "ведение журнала" справа, если ведение журнала включено:

enter image description here

открыть его, и вы должны увидеть папку тут:

enter image description here

добро пожаловать!

Я добавляю этот ответ, потому что после изучения интернета, я в конечном итоге на этот ответ, но до сих пор не знаю, какой папку папки журналов IIS для просмотра.

Если ваш сервер имеет несколько веб-сайтов, вам нужно будет знать идентификатор IIS для сайта. Простой способ получить это в IIS-просто нажать на сайты в левой панели. Идентификатор для каждого сайта отображается в правой панели.

Как только вы знаете идентификатор, давайте назовем его n, соответствующие журналы находятся в W3SVCn подпапка папки журналов IIS. Итак, если Ваш идентификатор веб-сайта равен 4, скажем, и журналы IIS находятся в по умолчанию местоположение и журналы находятся в этой папке:

%SystemDrive%\inetpub\logs\LogFiles\W3SVC4

благодарности:

  • ответ @jishi говорит, где журналы по умолчанию.
  • ответ @Rafid объясняет, как найти фактическое местоположение (возможно, не по умолчанию).
  • ответ @Bergius дает программный способ найти расположение папки журнала для конкретного веб-сайта, принимая во внимание идентификатор, без использования 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

т. е.

  1. Откройте Диспетчер IIS.
  2. выберите сайт или сервер на панели подключения,
  3. дважды щелкните журнал.
  4. расположение файлов журнала для сайта можно найти в поле Каталог

EDIT: как указал Энди в комментариях ниже, вам нужно убедиться, что при установке IIS вы выбрали включить ведение журнала HTTP, иначе ведение журнала HTTP будет недоступно.

Enable HTTP Logging

гораздо проще сделать это с помощью PowerShell, например:

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

или просто

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

если вам просто нужна информация для себя и не против разбора результате в вашем мозгу :).

для бонусных очков, добавьте | ii к первой команде, чтобы открыть в проводнике, или | gci для отображения содержимого папки.

попробуйте журнал событий Windows, там может быть какая-то полезная информация

включение трассировка может быть лучшей альтернативой журналу событий Windows. Это дало мне информацию, необходимую для исправления моего собственного веб-сервиса.

Я думаю, что место по умолчанию для ведения журнала IIS является:c:\inetpub\wwwroot\log\w3svc

Я нашел файлы журнала IIS в следующем месте.

C:\inetpub\logs\LogFiles\

которые помогают решить мою проблему.