Wo finde ich die IIS-Protokolle?

325

Ich versuche, eine Anwendung von einem Drittanbieter einzurichten, für die eine unterstützende Website erforderlich ist, die in meinem lokalen IIS gehostet wird. Ich habe eine Website genau wie in der Installationsanleitung beschrieben erstellt, habe jedoch einige Probleme und möchte sehen, was das IIS-Protokoll zu sagen hat. Peinlicherweise ist das Problem, dass ich die Protokolldateien nicht finden kann!

Meine Frage lautet also: Wo speichert IIS7 standardmäßig Protokolle?

Kjartan
quelle

Antworten:

495

Ich denke, der Standardort für Zugriffsprotokolle ist

%SystemDrive%\inetpub\logs\LogFiles

Andernfalls überprüfen Sie unter IIS-Manager, wählen Sie den Computer im linken Bereich aus und gehen Sie im mittleren Bereich unter "Protokollierung" im IIS-Bereich. Dort sehen Sie den Standardspeicherort für alle Sites (dies ist jedoch auf allen Sites überschreibbar).

Sie könnten auch untersuchen

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

Welche ähnliche Protokolldateien enthalten, die nur Fehler darstellen.

Jishi
quelle
1
Danke, das scheint logisch, aber das Protokollverzeichnis ist leer. Ich muss die Protokollierung wahrscheinlich irgendwie aktivieren, kann aber im mittleren Bereich von IIS Manager nichts über die Protokollierung finden.
Kjartan
66
Wenn Sie es nicht finden, ist es nicht installiert. Sie müssen starten, Programs and Featuresdann Turn Windows features on or offauf der linken Seite klicken und dann auswählenInternet Information Services\World Wide Web Services\Health and Diagnostics\HTTP Logging
jishi
1
Ausgezeichnet! Jetzt habe ich zumindest Protokolle. Schade, dass sie mir nicht wirklich die Antworten gaben, auf die ich gehofft hatte, aber zumindest habe ich etwas gelernt. Danke noch einmal!
Kjartan
3
Ich glaube, der letztere Pfad (... \ HTTPERR) ist der Ort, an dem von http.sys generierte Protokolldateien standardmäßig landen und keine Protokolldateien von IIS selbst. Siehe: technet.microsoft.com/en-us/library/cc784703%28v=ws.10%29.aspx
Jon Schneider
3
Diese Protokolle sind nutzlos, wenn Sie nach einer Fehlermeldung suchen.
Vasil Valchev
96

Ich glaube, dies ist eine einfachere Methode, um festzustellen, wo sich Ihre IIS-Protokolle befinden, als nur einen Standardspeicherort anzunehmen:

Gehen Sie zu Ihrer IIS-Site, z. B. Standard, klicken Sie darauf, und rechts sollte "Protokollierung" angezeigt werden, wenn die Protokollierung aktiviert ist:

Geben Sie hier die Bildbeschreibung ein

Öffnen Sie es und Sie sollten den Ordner genau dort sehen:

Geben Sie hier die Bildbeschreibung ein

Bitte schön!

Rafid
quelle
5
Unter IIS10 erfordert die Funktion "Protokollierung", dass mindestens die World Wide Web Services -> Health and Diagnostics -> HTTP LoggingWindows-Funktion installiert ist. Andernfalls wird es nicht angezeigt.
Pasi Savolainen
Was passiert, wenn das Protokollierungssymbol nicht angezeigt wird? Ich kann meine Protokolldateien nicht lokal finden - keiner der Pfade scheint auf meinem Computer vorhanden zu sein.
Andy
80

Ich füge diese Antwort hinzu, weil ich nach der Recherche im Internet zu dieser Antwort gekommen bin, aber immer noch nicht wusste, in welchem Unterordner des IIS-Protokollordners ich suchen soll.

Wenn Ihr Server über mehrere Websites verfügt, müssen Sie die IIS-ID für die Site kennen. Eine einfache Möglichkeit, dies in IIS zu erreichen, besteht darin, einfach auf den Ordner " Sites " im linken Bereich zu klicken . Die ID für jede Site wird im rechten Bereich angezeigt.

Wenn Sie die ID kennen, nennen wir sie n . Die entsprechenden Protokolle befinden sich im Unterordner W3SVC n des Ordners IIS-Protokolle. Wenn Ihre Website-ID beispielsweise 4 lautet und sich die IIS-Protokolle am Standardspeicherort befinden , befinden sich die Protokolle in diesem Ordner:

%SystemDrive%\inetpub\logs\LogFiles\W3SVC4

Danksagung:

  • Die Antwort von @jishi gibt an, wo sich die Protokolle standardmäßig befinden.
  • Die Antwort von @Rafid erklärt, wie der tatsächliche Standort ermittelt wird (möglicherweise nicht standardmäßig).
  • Die Antwort von @Bergius bietet eine programmgesteuerte Möglichkeit, den Speicherort des Protokollordners für eine bestimmte Website unter Berücksichtigung der ID ohne Verwendung von IIS zu ermitteln.
Joel Lee
quelle
8
Es ist sehr wichtig, dass Sie die Website-ID in IIS angeben, um die richtige Protokolldatei anzuzeigen.
Moises Quintero Orea
3
Ich habe die ID gefunden, indem ich im Aktionsfenster auf Erweiterte Einstellungen geklickt habe, nachdem ich die Site im Verbindungsfenster ausgewählt habe.
Stagg
15

Die 100% korrekte Antwort für den Standardspeicherort der Protokolldateien lautet ...

%SystemDrive%\inetpub\logs\LogFiles

Ja, Sie können dies in die Explorer-Adressleiste eingeben, damit es funktioniert.

Um 100% sicher zu sein, müssen Sie sich die Protokollierung für die Website in IIS ansehen.

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

dh

  1. Öffnen Sie den IIS-Manager.
  2. Wählen Sie die Site oder den Server im Bereich Verbindungen aus.
  3. Doppelklicken Sie auf Protokollierung.
  4. Der Speicherort der Protokolldateien für die Site befindet sich im Feld Verzeichnis

BEARBEITEN: Wie Andy in den Kommentaren unten ausgeführt hat, müssen Sie bei der Installation von IIS sicherstellen, dass Sie die HTTP-Protokollierung aktiviert haben, da sonst die HTTP-Protokollierung nicht verfügbar ist.

Aktivieren Sie die HTTP-Protokollierung

Mick
quelle
Dies ist keine 100% ige Antwort ... Ich habe kein Verzeichnis in diesem Pfad und dennoch IIS 7.5. Ich kann meine Protokolldateien auf keinem dieser Pfade finden, von denen die Leute sagen, dass sie existieren.
Andy
2
@Andy Haben Sie die 2. Hälfte der Antwort gelesen und die Konfiguration der Website in IIS überprüft?
Mick
2
Mir fehlte das erforderliche Modul "HTTP-Protokollierung" unter "Programme und Funktionen"> "Windows-Funktionen aktivieren oder deaktivieren". Es wurde oben ein Kommentar dazu gefunden und das LogFiles-Verzeichnis erstellt. Vielen Dank für das Follow-up.
Andy
10

Eine viel einfachere Möglichkeit, dies zu tun, ist die Verwendung von PowerShell wie folgt:

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

oder einfach

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

wenn Sie nur die Informationen für sich selbst brauchen und es Ihnen nichts ausmacht, das Ergebnis in Ihrem Gehirn zu analysieren :).

Fügen Sie für Bonuspunkte | iiden ersten Befehl an, der im Explorer geöffnet oder | gcider Inhalt des Ordners aufgelistet wird.

Bergius
quelle
7

Probieren Sie das Windows-Ereignisprotokoll aus. Es kann einige nützliche Informationen geben

Tomas Walek
quelle
2
Das Ereignisprotokoll enthält wahrscheinlich alle Seitenfehler, die auf der Site auftreten.
Jishi
20
Scheint eine gute Idee zu sein, aber hier gibt es viele Informationen, und ich kann anscheinend nichts finden, was für IIS relevant ist. Gibt es einen Hinweis darauf, wo in der Ereignisanzeige gesucht werden soll oder wie die Informationen dort am besten gefiltert werden können?
Kjartan
7
-1, Grund: Diese Antwort ist zu allgemein. Bitte geben Sie eine detaillierte Erklärung an, wo im Ereignisprotokoll die Informationen zu finden sind oder wie nach ihnen gefiltert werden kann. Andernfalls ist es angesichts der großen Anzahl von Protokollen in den Protokollen im Ereignisprotokoll zu schwierig, die relevanten Protokolle zu finden.
Lanoxx
Die Ursache meines Problems (Verbindung nur bei * .woff-Dateien geschlossen) wurde in Windows-Protokollen> System gefunden (in meinem Fall eine falsche SSL-Konfiguration)
the_nuts
3

Das Aktivieren der Ablaufverfolgung ist möglicherweise eine bessere Alternative zum Windows-Ereignisprotokoll. Dies gab mir die Informationen, die ich brauchte, um meinen eigenen WebService zu reparieren.

Preston S.
quelle
3

Ich denke, der Standardort für die IIS-Protokollierung ist: c:\inetpub\wwwroot\log\w3svc

Honig
quelle
0

Ich habe die IIS-Protokolldateien am folgenden Speicherort gefunden.

C: \ inetpub \ logs \ LogFiles \

welche helfen, mein Problem zu beheben.

Hiren Parghi
quelle
Ich habe gerade den Standardpfad angegeben, in dem sich IIS-Protokolldateien auf dem Server befinden. Wenn Sie die Frage lesen können. Es lautet "Wo speichert IIS7 standardmäßig Protokolle?" :(
Hiren Parghi
0

C: \ inetpub \ logs \ LogFiles

Überprüfen Sie die Identität der Site, die zu Sites und erweiterten Einstellungen wechselt

Chandra
quelle