Freigeben über


Standard-Protokolldateieinstellungen für Websites: <logFile>-Element

Übersicht

Das <logFile>-Element des <siteDefaults>-Elements enthält Attribute, mit denen Sie die Standardprotokollierung für eine Site in Internetinformationsdienste 7 (Internet Information Services, IIS) und höher konfigurieren können.

Sie können beispielsweise die Protokollierung aktivieren oder deaktivieren, das Format der IIS-Protokolldatei konfigurieren, die Informationskategorien angeben, die in der Protokolldatei gespeichert werden sollen, und das Verzeichnis ändern, in dem die Protokolldatei gespeichert wird. Sie können das <logFile>-Element auch verwenden, um basierend auf der Protokolldateigröße oder dem Zeitintervall und der maximalen Größe (in Byte) einer Protokolldatei zu steuern, wie oft IIS eine neue Protokolldatei erstellt.

Standardmäßig verwenden IIS 7 und höhere Versionen das W3C-Protokolldateiformat (World Wide Web Consortium). Sie können diese Einstellung ändern, indem Sie das logFormat-Attribut in IIS, NCSA oder Custom ändern.

Hinweis

Die ODBC-Protokollierung (Open Database Connectivity) wird in IIS 7 und höher als benutzerdefiniertes Protokollierungsmodul implementiert. Daher sind zum Aktivieren und Konfigurieren der ODBC-Protokollierung in IIS 7 und höher zwei separate Aktionen erforderlich:

  • Festlegen der Attribute für die ODBC-Protokollierung im <odbcLogging>-Element. Diese Attribute geben den Namen der Systemdatenquelle (System Data Source Name, DSN), den Tabellennamen, den Benutzernamen und das Kennwort für die ODBC-Verbindung an.
  • Festlegen der korrekten Attribute für die benutzerdefinierte Protokollierung im <logFile>-Element. Diese Attribute müssen das Protokolldateiformat auf „Custom“ und die Klassen-ID des benutzerdefinierten Protokoll-Plug-Ins auf „{FF16065B-DE82-11CF-BC0A-00AA006111E0}“ festlegen.

Weitere Informationen zur ODBC-Protokollierung finden Sie im Artikel zum <odbcLogging>-Element.

Sie können die von IIS protokollierten Informationskategorien festlegen, indem Sie das Attribut logExtFileFlags bearbeiten. Die Standardwerte sind Date, Time, ClientIP, UserName, ServerIP, Method, UriStem, UriQuery, TimeTaken, HttpStatus, Win32Status, ServerPort, UserAgent, HttpSubStatus und Referer.

Hinweis

Wenn das <logFile>-Element für eine bestimmte Site sowohl im Abschnitt <siteDefaults> als auch im Abschnitt <site> konfiguriert ist, wird die Konfiguration im Abschnitt <site> für diese Site verwendet.

In IIS 8.5 können Sie zusätzlich zu den standardmäßig protokollierten Feldern auch benutzerdefinierte Felder protokollieren. Das Protokolldateiformat muss auf W3C festgelegt sein, wenn Sie benutzerdefinierte Felder hinzufügen möchten. Weitere Informationen finden Sie unter customFields.

Kompatibilität

Version Hinweise
IIS 10.0 Das <logFile>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das Attribut flushByEntrycountW3CLog wurde hinzugefügt, um die Anzahl der Ereignisse anzugeben, die im Puffer gespeichert werden, bevor sie in die Protokolldatei geleert werden. Das Attribut logTargetW3C wurde hinzugefügt, um anzugeben, wie protokollierte IIS-Ereignisse verarbeitet werden. Das Attribut maxLogLineLength wurde hinzugefügt, um die maximale Länge einer Zeile in einer Protokolldatei anzugeben. Das untergeordnete <customFields>-Element wurde hinzugefügt.
IIS 8.0 Das Attribut logSiteId wurde hinzugefügt, um den Inhalt des Felds „-sitename“ anzugeben, und das referer-Flag wurde dem Standardwert des Attributs logExtFileFlags hinzugefügt.
IIS 7.5 Das <logFile>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <logFile>-Element des <siteDefaults>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 Das <logFile>-Element ersetzt Abschnitte der Protokollierungseigenschaften im IIsWebService-Metabasisobjekts von IIS 6.0.

Setup

Das <logFile>-Element ist in der Standardinstallation von IIS 7 und höher enthalten.

Gewusst wie

Bearbeiten der Standardprotokollierungseinstellungen für einen Server

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager, wählen Sie Tools und dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die Windows-Logo-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und wählen Sie dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung und dann auf Internetinformationsdienste-Manager (IIS).
  2. Klicken Sie im Bereich Verbindungen auf den Namen des Servers, für den Sie die Protokollierung konfigurieren möchten.

  3. Doppelklicken Sie im Bereich Start auf Protokollierung.
    Screenshot that shows the Server Home pane, with Logging selected.

  4. Wählen Sie im Bereich Protokollierung im Feld Format das Protokolldateiformat aus, und geben Sie dann im Feld Verzeichnis den Pfad des Verzeichnisses ein, in dem Sie die Protokolldateien speichern möchten, oder klicken Sie auf Durchsuchen, um das Verzeichnis zum Speichern der Protokolldateien auszuwählen.
    Screenshot that shows the Logging pane. W 3 C is selected for Format.

  5. Wenn Sie das W3C-Protokolldateiformat verwenden:

    • Klicken Sie auf Felder auswählen, um die zu protokollierenden Informationstypen auszuwählen.
    • Aktivieren Sie im Dialogfeld W3C-Protokollfelder die Kontrollkästchen für Optionen, die Sie protokollieren möchten, deaktivieren Sie die Kontrollkästchen für Optionen, die Sie nicht protokollieren möchten, und klicken Sie dann auf OK.
      Screenshot that shows the W 3 C Logging Fields dialog box.

Konfigurieren der ETW-Protokollierung (Ereignisablaufverfolgung für Windows) oder Dateiprotokollierung für W3C-Protokolle

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS):

    • Vorgehensweise unter Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager, wählen Sie Tools und dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows 8.1:

      • Halten Sie die Windows-Logo-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS).
  2. Erweitern Sie im Bereich Verbindungen den Eintrag für den Servernamen.

  3. Doppelklicken Sie im Bereich „Start“ der Site auf Protokollierung.

  4. Wählen Sie auf der Startseite Protokollierung für Protokollereignisziel die Optionen Nur Protokolldatei, Nur ETW-Ereignis oder Sowohl Protokolldatei als auch ETW-Ereignis aus.

    Screenshot that shows the Logging pane. Log file only is selected for Log Event Destination.

Konfigurieren der Leerung eines W3C-Protokolls nach Eintragsanzahl

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS):

    • Vorgehensweise unter Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager, wählen Sie Tools und dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows 8.1:

      • Halten Sie die Windows-Logo-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS).
  2. Wählen Sie im Bereich Verbindungen den Server aus, und doppelklicken Sie dann auf Konfigurations-Editor.

  3. Erweitern Sie im Konfigurations-Editor für Abschnitt den Eintrag system.applicationHost, und wählen Sie anschließend sites aus.

  4. Erweitern Sie siteDefaults und dann logFile.

  5. Geben Sie für flushByEntryCountW3Clog die Anzahl der Ereignisse ein, die im Puffer gespeichert werden, bevor sie in die Protokolldatei geleert werden.

  6. Klicken Sie im Bereich Aktion auf Übernehmen.

    Screenshot that shows the Collection Editor window. In the Properties pane, flush By Entry Count W 3 C Log is selected.

Konfigurieren der maximalen Länge von Protokollzeilen

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS):

    • Vorgehensweise unter Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager, wählen Sie Tools und dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows 8.1:

      • Halten Sie die Windows-Logo-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS).
  2. Erweitern Sie im Bereich Verbindungen den Eintrag für den Server, und doppelklicken Sie dann auf Konfigurations-Editor.

  3. Erweitern Sie im Konfigurations-Editor für Abschnitt den Eintrag system.applicationHost, und wählen Sie anschließend sites aus.

  4. Erweitern Sie siteDefaults und dann logFile.

  5. Geben Sie für maxLogLineLength die maximale Anzahl von Bytes in einer einzelnen Zeile einer Protokolldatei ein.

  6. Klicken Sie im Bereich Aktion auf Übernehmen.

    Screenshot that shows the Collection Editor window. In the Properties pane, max Log Line Length is selected.

Konfiguration

Attribute

Attribut Beschreibung
customLogPluginClsid Optionales Zeichenfolgeattribut.

Gibt die COM-Objektklassen-ID (CLSID) oder IDs in der entsprechenden Rangfolge für benutzerdefinierte Module an.
directory Optionales Zeichenfolgeattribut.

Gibt das Protokollierungsverzeichnis an, in dem die Protokolldatei und mit der Protokollierung zusammenhängende Unterstützungsdateien gespeichert werden.

Der Standardwert ist %SystemDrive%\inetpub\logs\LogFiles.
enabled Optionales boolesches Attribut.

Gibt an, ob die Protokollierung aktiviert (true) oder deaktiviert (false) ist.

Hinweis: ASP- und ODBC-Fehler werden nicht in den IIS-Protokolldateien protokolliert.

Der Standardwert ist true.
flushByEntryCountW3CLog Optionales uint-Attribut.

Gibt die Anzahl der Ereignisse an, die im Puffer gespeichert werden, bevor sie in die Protokolldatei geleert werden. Eine niedrigere Zahl führt dazu, dass Ereignisse schneller geleert werden, und beeinträchtigt aufgrund der größeren Anzahl von Datenträgervorgängen die Leistung. Verringern Sie diesen Wert zur Problembehandlung in Echtzeit, und erhöhen Sie ihn zum Steigern der Leistung. Bei einem Wert von 0 erfolgt die Leerung mit dem Standardhöchstwert 64.000.

Der Standardwert ist 0.
localTimeRollover Optionales boolesches Attribut.

Gibt an, ob eine neue Protokolldatei basierend auf der Ortszeit oder der koordinierten Weltzeit (Coordinated Universal Time, UTC, zuvor Greenwich Mean Time, GMT) erstellt wird. Bei „false“ wird eine neue Protokolldatei basierend auf der UTC-Zeit erstellt.

Hinweis: Unabhängig von der Einstellung basiert der Zeitstempel jedes Protokolldatensatzes der erweiterten W3C-Protokollierung auf der UTC-Zeit.

Der Standardwert ist false.
logExtFileFlags Optionales Flags-Attribut.

Gibt die Informationskategorien an, die während der Protokollierung von Ereignissen für eine Site in die Protokolldatei (bei Verwendung des erweiterten W3C-Formats für Protokolldateien) oder in die ODBC-Datenquelle geschrieben werden. Das Attribut logExtFileFlags kann auf einen oder mehrere der folgenden Werte festgelegt werden. Wenn Sie mehrere Werte angeben, trennen Sie diese durch ein Komma (,).

Die Standardwerte sind Date, Time, ClientIP, UserName, ServerIP, Method, UriStem, UriQuery, TimeTaken, HttpStatus, Win32Status, ServerPort, UserAgent, HttpSubStatus und Referer.
Wert Beschreibung
BytesRecv Protokolliert die Anzahl der vom Server empfangenen Bytes.
BytesSent Protokolliert die Anzahl der vom Server gesendeten Bytes.
ClientIP Protokolliert die IP-Adresse des Clients, von dem die Anforderung stammt.
ComputerName Protokolliert den Namen des Servers, auf dem der Protokolldateieintrag generiert wurde.
Cookie Protokolliert den Inhalt empfangener Cookies, sofern Inhalte vorhanden sind.
Date Protokolliert das Datum, an dem die Aktivität stattgefunden hat.
Host Protokolliert den Hostheadernamen, sofern dieser vorhanden ist.
HttpStatus Protokolliert den HTTP-Statuscode.
HttpSubStatus Protokolliert den Unterstatuscode des HTTP-Fehlers. Für den HTTP-Fehler 500.18 lautet der Statuscode beispielsweise 500 und der Unterstatuscode 18.
Method Protokolliert die angeforderte Aktion, beispielsweise GET, POST usw.
ProtocolVersion Protokolliert die vom Client verwendete Protokollversion.
Referer Protokolliert die zuletzt vom Benutzer besuchte Site. Diese Website stellte eine Verknüpfung zur aktuellen Website her.
ServerIP Protokolliert die IP-Adresse des Servers, auf dem der Protokolldateieintrag generiert wurde.
ServerPort Protokolliert die Serverportnummer, die für die Site konfiguriert wurde.
SiteName Protokolliert den Internetdienstnamen und die Instanznummer für die Site.
Time Protokolliert den Zeitpunkt der Aktivität in der UTC-Zeit.
TimeTaken Protokolliert die zur Ausführung einer Anforderung benötigte Zeit. Die benötigte Zeit wird in Millisekunden aufgezeichnet.

Hinweis: Der Zeitstempel der Clientanforderung wird initialisiert, wenn HTTP.sys das erste Byte empfängt, aber bevor HTTP.sys mit der Analyse der Anforderung beginnt. Der Zeitstempel der Clientanforderung wird beendet, wenn der Abschluss des letzten IIS-Sendevorgangs erfolgt. Die Zeit im Netzwerk wird in der benötigten Zeit nicht berücksichtigt. Die benötigte Zeit für die erste Anforderung an die Site ist etwas länger als die von anderen ähnlichen Anforderungen, da HTTP.sys die Protokolldatei mit der ersten Anforderung öffnet.
UriQuery Protokolliert die Abfrage, die der Client auszuführen versucht hat (sofern vorhanden). Eine URI-Abfrage (Universal Resource Identifier) ist nur für dynamische Seiten erforderlich und besteht in der Regel aus Parametern, die an die URL übergeben wurden.
UriStem Protokolliert die Informationen zum Stamm des URI, der das Ziel der Aktion ist. Beispiel: „Default.htm“.
UserAgent Protokolliert den vom Client verwendeten Browsertyp.
UserName Protokolliert den Namen des authentifizierten Benutzers, der auf Ihren Server zugegriffen hat. Anonyme Benutzer werden durch einen Bindestrich gekennzeichnet.
Win32Status Protokolliert den Windows-Statuscode.
logFormat Optionales Enumerationsattribut.

Gibt das Format der Protokolldatei an. Das logFormat-Attribut kann auf einen der folgenden Werte festgelegt werden.

Der Standardwert ist W3C.
Wert Beschreibung
Custom Verwendet ein benutzerdefiniertes Protokolldateiformat für ein benutzerdefiniertes Protokollierungsmodul.

Der numerische Wert ist 3.
IIS Verwendet das Microsoft IIS-Protokolldateiformat, um Informationen zu einer Site zu protokollieren. Dieses von HTTP.sys verwaltete Format ist ein festes , textbasiertes ASCII-Format, d. h. dass Sie die zu protokollierenden Felder nicht festlegen können. Felder sind durch Kommas getrennt, und Zeit wird als lokale Zeit aufgezeichnet. Im Folgenden finden Sie eine Liste mit Feldern, die beim Format IIS für Protokolldateien verwendet werden:
  • Client-IP-Adresse
  • Benutzername
  • Datum
  • Uhrzeit
  • Dienst und Instanz
  • Servername
  • Server-IP-Adresse
  • Benötigte Zeit
  • Vom Client gesendete Bytes
  • Vom Server gesendete Bytes
  • Service status code (Ein Wert von 200 gibt an, dass die Anforderung erfolgreich verarbeitet wurde.)
  • Windows status code (Ein Wert von 0 gibt an, dass die Anforderung erfolgreich verarbeitet wurde.)
  • Anforderungstyp
  • Ziel des Vorgangs
  • Parameter (die Parameter, die an ein Skript übergeben werden.)
Nicht alle Felder enthalten Daten. Wenn ein Feld keine Daten enthält, wird ein Bindestrich (-) als Platzhalter angezeigt. Wenn ein Feld ein nicht druckbares Zeichen enthält, wird dieses von HTTP.sys durch ein Pluszeichen (+) ersetzt, um das Protokolldateiformat beizubehalten.

Der numerische Wert ist 0.
NCSA Verwendet das allgemeine NCSA-Protokolldateiformat (National Center for Supercomputing Applications), um Informationen zu einer Site zu protokollieren. Dieses von HTTP.sys verwaltete Format ist ein festes , textbasiertes ASCII-Format, d. h. dass Sie die zu protokollierenden Felder nicht festlegen können. Felder werden durch Leerzeichen getrennt, und Zeit wird als lokale Zeit mit UTC-Versatz (Coordinated Universal Time) aufgezeichnet. Im Folgenden finden Sie eine Liste der Felder, die beim Format "NCSA allgemein" für Protokolldateien verwendet werden:
  • Remotehostadresse
  • Remote log name (Dieser Wert ist immer ein Bindestrich).
  • Benutzername
  • Datum, Uhrzeit und UTC-Offset
  • Anforderungs- und Protokollversion
  • Service status code (Ein Wert von 200 gibt an, dass die Anforderung erfolgreich verarbeitet wurde.)
  • Gesendete Bytes
Nicht alle Felder enthalten Daten. Wenn ein Feld keine Daten enthält, wird ein Bindestrich (-) als Platzhalter angezeigt. Wenn ein Feld ein nicht druckbares Zeichen enthält, wird dieses von HTTP.sys durch ein Pluszeichen (+) ersetzt, um das Protokolldateiformat beizubehalten.

Der numerische Wert ist 1.
W3C Verwendet das erweiterte W3C-Protokolldateiformat, um Informationen zu einer Site zu protokollieren. Dieses von HTTP.sys verwaltete Format ist ein benutzerdefinierbares , textbasiertes ASCII-Format, d. h. dass Sie die zu protokollierenden Felder festlegen können. Geben Sie die Felder an, die im Attribut logExtFileFlags protokolliert werden. Felder werden durch Leerzeichen getrennt, und Zeit wird in UTC (Coordinated Universal Time) aufgezeichnet.

Der numerische Wert ist 2.
logSiteId Optionales boolesches Attribut.

Gibt an, dass das Feld „s-sitename“ entweder den Sitenamen (false) oder die Site-ID (true) enthält. Wenn die Eigenschaft „Eine Protokolldatei pro“ auf Site festgelegt ist (Standardeinstellung), enthält die Protokolldatei standardmäßig keine Spalte „s-sitename“, da stattdessen die Eigenschaft „Protokolldateiname“ die Site-ID enthält. Wenn die Eigenschaft „Eine Protokolldatei pro“ auf Serverfestgelegt ist, wird die Spalte „-s-sitename“ standardmäßig in die Protokolldatei aufgenommen.

Der Standardwert ist True, d. h. das Feld „s-sitename“ enthält die Site-ID. Um stattdessen den Sitenamen zu protokollieren, legen Sie logSiteID auf False fest.
logTargetW3C Optionales Flags-Attribut.

Gibt an, ob IIS die Ereignisablaufverfolgung für Windows (ETW) und/oder die Dateiprotokollierung für die Verarbeitung protokollierter IIS-Ereignisse verwendet. ETW bietet Echtzeitprotokollierung und ermöglicht die Verwendung eines ETW-Anbieters und von Standardabfragemechanismen. Die Dateiprotokollierung speichert Ereignisdaten in Textdateien, die Sie analysieren können, um auf Protokollierungsdaten zuzugreifen.

Wenn IIS Protokolldateien verwendet, protokolliert HTTP.sys Daten nach dem Abschluss einer Transaktion direkt in Textprotokolldateien. Wenn Sie ETW verwenden, sendet HTTP.sys Daten mithilfe des iislogging-Anbieters an ETW, und der LOGSVC-Dienst verwaltet die Protokolldaten, einschließlich ETW-Datenabfragen, bei denen Daten direkt aus Arbeitsprozessen gesammelt und an eine Protokolldatei gesendet werden.

Das Attribut logTargetW3C kann die im Folgenden beschriebenen Werte aufweisen. Der Standardwert ist File. Wenn für die Standard-Protokolldateieinstellungen des Servers sowohl File als auch ETW für logTargetW3C in „applicationHost.config“ aufgeführt sind, entspricht dies der Auswahl von Sowohl Protokolldatei als auch ETW-Ereignis im Bereich Protokollierung des Servers im IIS-Manager.
Wert Beschreibung
File IIS-Ereignisdaten werden in einer Textprotokolldatei gespeichert. Um die Ereignisdaten zu verarbeiten, müssen Sie die textbasierte Protokolldatei analysieren. Da die Verarbeitung und Leerung von Textprotokolldateien Zeit in Anspruch nimmt, können Sie die Ereignisdaten nicht in Echtzeit zu verarbeiten.

Der numerische Wert ist 1.
ETW Anstatt Daten direkt in Textdateien zu protokollieren, sendet IIS protokollierte Informationen an die Ereignisablaufverfolgung für Windows (ETW), einen generischen Ereignismechanismus, der in Windows integriert ist. Sie können protokollierte Daten mithilfe von Standardabfragetools wie der Nachrichtenanalyse oder benutzerdefinierten Tools verwalten. ETW verarbeitet protokollierte Informationen in Echtzeit und bietet Ihnen die Möglichkeit, die Daten zu filtern und anzuzeigen und die Protokollierung dynamisch zu aktivieren oder zu deaktivieren. ETW fügt auch detaillierte Informationen zu Ereignisdaten hinzu und stellt Daten bereit, auf die HTTP.sys keinen Zugriff hat. Weitere Informationen finden Sie unter Ereignisablaufverfolgung.

Der numerische Wert ist 2.
maxLogLineLength Optionales uint-Attribut.

Gibt die maximale Länge einer Zeile in einer Protokolldatei an. Auf diese Weise können Sie die bei der Protokollierung angesammelte Datenmenge beschränken und insbesondere beim Hinzufügen benutzerdefinierter Protokollierungsfelder Speicherplatz sparen.

Der gültige Bereich ist 2 bis 65.536. Der Standardwert ist 65536.
period Optionales Enumerationsattribut.

Gibt an, wie oft IIS eine neue Protokolldatei erstellt. Die zulässigen Werte für das period-Attribut sind im Folgenden aufgeführt.

Der Standardwert ist Daily.
Wert Beschreibung
Daily Erstellt täglich eine neue Protokolldatei.

Der numerische Wert ist 1.
Hourly Erstellt stündlich eine neue Protokolldatei.

Der numerische Wert ist 4.
MaxSize Erstellt eine neue Protokolldatei, wenn eine maximale Größe erreicht ist. Die maximale Größe wird im truncateSize-Attribut angegeben.

Der numerische Wert ist 0.
Monthly Erstellt monatlich eine neue Protokolldatei.

Der numerische Wert ist 3.
Weekly Erstellt wöchentlich eine neue Protokolldatei.

Der numerische Wert ist 2.
truncateSize Optionales int64-Attribut.

Legt die maximale Größe der Protokolldatei (in Bytes) fest, ab der eine neue Protokolldatei erstellt wird. Dieser Wert gilt nur, wenn für das period-Attribut der Wert „MaxSize“ ausgewählt ist. Die minimale Dateigröße beträgt 1.048.576 Bytes. Wenn für dieses Attribut ein kleinerer Wert als 1.048.576 Bytes festgelegt ist, wird implizit der Standardwert von 1.048.576 Bytes angenommen.

Der Standardwert ist 20971520.

Untergeordnete Elemente

Element Beschreibung
customFields Optionales Element.

Gibt die Konfigurationseinstellungen für benutzerdefinierte Standardfelder in einem W3C-Protokoll an.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel werden die logFile-Standardoptionen festgelegt.

<system.applicationHost>
   <sites>
      <siteDefaults>
         <logFile logFormat="W3C"
            directory="%SystemDrive%\inetpub\logs\LogFiles"
            enabled="true">
            <customFields>
               <clear/>
               <add logFieldName="ContosoField" sourceName="ContosoSource"
                  sourceType="ServerVariable" />
            </customFields>
         </logFile>
      </siteDefaults>
   </sites>
</system.applicationHost>

Beispielcode

In den folgenden Codebeispielen werden die logFile-Standardoptionen für IIS 7 konfiguriert.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /commit:apphost

Hinweis

Sie müssen den commit-Parameter auf apphost festlegen, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen in den entsprechenden Location-Abschnitt der Datei „ApplicationHost.config“ committet.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");

         ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
         logFileElement["logFormat"] = @"W3C";
         logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
         logFileElement["enabled"] = true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")

      Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
      logFileElement("logFormat") = "W3C"
      logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
      logFileElement("enabled") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");

var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")

Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True

adminManager.CommitChanges()