Impostazioni predefinite del file di log per i siti <Web logFile>
Panoramica
L'elemento <logFile>
dell'elemento <siteDefaults>
contiene attributi che consentono di configurare la registrazione predefinita per un sito in IIS 7 e versioni successive.
Ad esempio, è possibile abilitare o disabilitare la registrazione, configurare il formato del file di log IIS, specificare le categorie di informazioni da archiviare nel file di log e modificare la directory in cui è archiviato il file di log. È anche possibile usare l'elemento per controllare la frequenza con cui IIS crea un nuovo file di log in base alle dimensioni del file di log o all'intervallo <logFile>
di tempo e alla dimensione massima (in byte) che può diventare un file di log.
Per impostazione predefinita, IIS 7 e versioni successive usa il formato di file di log World Wide Web Consortium (W3C). È possibile modificare questa impostazione modificando l'attributo logFormat in IIS, NCSA o Personalizzato.
Nota
La registrazione ODBC viene implementata come modulo di registrazione personalizzato in IIS 7 e versioni successive. Di conseguenza, l'abilitazione e la configurazione della registrazione ODBC in IIS 7 e versioni successive sono costituite da due azioni separate:
- Impostazione degli attributi di registrazione ODBC nell'elemento
<odbcLogging>
. Questi attributi specificano il nome origine dati di sistema (DSN), il nome della tabella, il nome utente e la password per la connessione ODBC. - Impostazione degli attributi di registrazione personalizzati corretti nell'elemento
<logFile>
. Questi attributi devono impostare il formato del file di log su "Personalizzato" e l'ID classe plug-in log personalizzato su "{FF16065B-DE82-11CF-BC0A-00AA0611E0}".
Per altre informazioni sulla registrazione ODBC, vedere l'elemento <odbcLogging>
.
È possibile definire le categorie di informazioni che i log IIS modificano l'attributo logExtFileFlags . I valori predefiniti sono Date
, Time
UserName
UriStem
UriQuery
Method
TimeTaken
HttpStatus
ServerIP
ClientIP
ServerPort
UserAgent
Win32Status
HttpSubStatus
e .Referer
Nota
Se l'elemento <logFile>
è configurato sia <siteDefaults>
nella sezione che nella <site>
sezione per un sito specifico, la configurazione nella <site>
sezione viene usata per tale sito.
IIS 8.5 consente di registrare campi personalizzati oltre al set registrato standard. Il formato del file di log deve essere W3C per aggiungere campi personalizzati. Per altre informazioni, vedere customFields
.
Compatibilità
Versione | Note |
---|---|
IIS 10.0 | L'elemento <logFile> non è stato modificato in IIS 10.0. |
IIS 8,5 | Aggiunto l'attributo flushByEntrycountW3CLog per specificare il numero di eventi da archiviare nel buffer prima che vengano scaricati nel file di log. Aggiunto l'attributo per specificare il logTargetW3C modo in cui vengono elaborati gli eventi IIS registrati. Aggiunta dell'attributo maxLogLineLength per specificare la lunghezza massima di una riga in un file di log. Aggiunta dell'elemento <customFields> figlio. |
IIS 8,0 | L'attributo logSiteId è stato aggiunto per specificare il contenuto del campo -sitename e referer il flag è stato aggiunto al valore predefinito dell'attributo logExtFileFlags . |
IIS 7,5 | L'elemento <logFile> non è stato modificato in IIS 7.5. |
IIS 7.0 | L'elemento <logFile> dell'elemento <siteDefaults> è stato introdotto in IIS 7.0. |
IIS 6.0 | L'elemento <logFile> sostituisce le sezioni delle proprietà di registrazione nell'oggetto metabase IIsWebService iis 6.0. |
Installazione
L'elemento <logFile>
è incluso nell'installazione predefinita di IIS 7 e versioni successive.
Procedure
Come modificare le impostazioni di registrazione predefinite per un server
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows , premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Nella barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni fare clic sul nome del server in cui si vuole configurare la registrazione.
Nel riquadro Registrazione selezionare il formato del file di log nella casella Formato e quindi digitare il percorso della directory in cui archiviare i file di log nella casella Directory oppure fare clic su Sfoglia per scegliere la directory in cui archiviare i file di log.
Se si sceglie di usare il formato di file di log W3C:
- Fare clic su Seleziona campi per scegliere i tipi di informazioni da registrare .
- Nella finestra di dialogo Campi di registrazione W3C selezionare le caselle di controllo per le opzioni che si desidera registrare, deselezionare le caselle di controllo per le opzioni che non si desidera registrare e quindi fare clic su OK.
Come configurare la registrazione di file o ETW per i log W3C
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8.1:
- Tenere premuto il tasto Windows , premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni espandere il nome del server.
Nel riquadro iniziale del sito fare doppio clic su Registrazione.
Nella home page Registrazioneselezionare Solo file di log, evento ETW o Evento ETW.
Come configurare lo scaricamento di un log W3C in base al conteggio delle voci
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8.1:
- Tenere premuto il tasto Windows , premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni selezionare il server e quindi fare doppio clic su Editor di configurazione.
Nell'editor di configurazione, per la sezione espandere
system.applicationHost
e quindi selezionare siti.Espandere siteDefaults e quindi espandere logFile.
Per flushByEntryCountW3Clog, immettere il numero di eventi da archiviare nel buffer prima che vengano scaricati nel file di log.
Nel riquadro Azione fare clic su Applica.
Come configurare la lunghezza massima della riga di log
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8.1:
- Tenere premuto il tasto Windows , premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni espandere il server e quindi fare doppio clic su Editor di configurazione.
Nell'editor di configurazione, per la sezione espandere
system.applicationHost
e quindi selezionare siti.Espandere siteDefaults e quindi espandere logFile.
Per maxLogLineLength immettere il numero massimo di byte in una singola riga di un file di log.
Nel riquadro Azione fare clic su Applica.
Configurazione
Attributi
Attributo | Descrizione | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
customLogPluginClsid |
Attributo stringa facoltativo. Specifica l'ID classe di oggetti COM (CLSID) o GLI ID, in ordine di precedenza, per i moduli personalizzati. |
||||||||||||||||||||||||||||||||||||||||||||||
directory |
Attributo stringa facoltativo. Specifica la directory di registrazione in cui vengono archiviati il file di log e i file di supporto correlati alla registrazione. Il valore predefinito è %SystemDrive%\inetpub\logs\LogFiles . |
||||||||||||||||||||||||||||||||||||||||||||||
enabled |
Attributo booleano facoltativo. Specifica se la registrazione è abilitata (true) o disabilitata (false) per un sito. Nota: Gli errori ASP e ODBC non vengono registrati nei file di log iis. Il valore predefinito è true . |
||||||||||||||||||||||||||||||||||||||||||||||
flushByEntryCountW3CLog |
Attributo uint facoltativo. Specifica il numero di eventi da archiviare nel buffer prima che vengano scaricati nel file di log. Un numero inferiore causerà lo scaricamento più rapido degli eventi, a costo delle prestazioni in seguito a un numero maggiore di operazioni su disco. Ridurre questo valore per la risoluzione dei problemi in tempo reale, aumentarne le prestazioni. Il valore 0 specifica che lo scaricamento si verificherà al massimo 64k predefinito.Il valore predefinito è 0 . |
||||||||||||||||||||||||||||||||||||||||||||||
localTimeRollover |
Attributo booleano facoltativo. Specifica se viene creato un nuovo file di log in base all'ora locale o all'ora UTC (Coordinated Universal Time), precedentemente denominata Ora di Greenwich (GMT). Se false, viene creato un nuovo file di log in base all'ora UTC. Nota: Indipendentemente dall'impostazione, il timestamp per ogni record di log di registrazione estesa W3C è basato su UTC. Il valore predefinito è false . |
||||||||||||||||||||||||||||||||||||||||||||||
logExtFileFlags |
Attributo flag facoltativo. Specifica le categorie di informazioni scritte nel file di log (quando si utilizza il formato di file di log esteso W3C) o nell'origine dati ODBC durante la registrazione degli eventi per un sito. L'attributo logExtFileFlags può essere uno o più dei valori seguenti. Se si specificano più valori, separarli con una virgola (,). I valori predefiniti sono Date , , ClientIP Time UserName , , ServerIP , Method , UriStem , UriQuery TimeTaken UserAgent HttpStatus Referer Win32Status ServerPort HttpSubStatus .
|
||||||||||||||||||||||||||||||||||||||||||||||
logFormat |
Attributo di enumerazione facoltativo. Specifica il formato del file di log. L'attributo logFormat può essere uno dei valori seguenti. Il valore predefinito è W3C .
|
||||||||||||||||||||||||||||||||||||||||||||||
logSiteId |
Attributo booleano facoltativo. Specifica che il campo s-sitename conterrà il nome del sito (false) o l'ID del sito (true). Se il file di log uno per ogni proprietà è impostato su Site (impostazione predefinita predefinita), non si otterrà la colonna s-sitename nel file di log per impostazione predefinita, perché la proprietà nome file di log conterrà invece l'ID del sito. Se il file di log uno per proprietà è impostato su Server , la colonna nome-sito-s verrà inclusa nel file di log per impostazione predefinita.Il valore predefinito è True , significa che il campo s-sitename contiene l'ID sito. Per registrare invece il nome del sito, impostare logSiteID su False . |
||||||||||||||||||||||||||||||||||||||||||||||
logTargetW3C |
Attributo Flag facoltativo. Specifica se IIS userà Traccia eventi per Windows (ETW) e/o la registrazione dei file per l'elaborazione degli eventi IIS registrati. ETW fornisce la registrazione in tempo reale e l'uso di un provider ETW e dei meccanismi di query standard. La registrazione file archivia i dati degli eventi nei file di testo che è possibile analizzare per accedere ai dati di registrazione. Quando IIS usa i file di log, HTTP.sys registra i dati direttamente nei file di log di testo dopo il completamento della transazione. Quando si usa ETW, HTTP.sys invia i dati in ETW usando il provider iislogging e il servizio LOGSVC gestisce i dati di log, inclusa l'esecuzione di query su ETW per i dati, la raccolta dei dati direttamente dai processi di lavoro e l'invio dei dati a un file di log. L'attributo logTargetW3C può avere i valori possibili seguenti. Il valore predefinito è File . Se entrambi File e ETW sono elencati per logTargetW3C le impostazioni predefinite del file di log del server in applicationHost.config, equivale a selezionare sia il file di log che l'evento ETW nel riquadro Registrazione del server in Gestione IIS.
|
||||||||||||||||||||||||||||||||||||||||||||||
maxLogLineLength |
Attributo uint facoltativo. Specifica la lunghezza massima di una riga in un file di log. In questo modo è possibile limitare la quantità di dati accumulati tramite la registrazione e risparmiare spazio su disco, soprattutto quando si aggiungono campi di registrazione personalizzati. L'intervallo è compreso tra 2 e 65.536. Il valore predefinito è 65536 . |
||||||||||||||||||||||||||||||||||||||||||||||
period |
Attributo enumerazione facoltativo. Specifica la frequenza con cui IIS crea un nuovo file di log. L'attributo period può essere uno dei valori possibili seguenti. Il valore predefinito è Daily .
|
||||||||||||||||||||||||||||||||||||||||||||||
truncateSize |
Attributo facoltativo int64. Specifica la dimensione massima del file di log (in byte) dopo la quale creare un nuovo file di log. Questo valore è applicabile solo quando MaxSize viene scelto per l'attributo period. La dimensione minima del file è pari a 1.048.576 byte. Se questo attributo è impostato su un valore minore di 1.048.576 byte, il valore predefinito viene assunto in modo implicito come 1.048.576 byte. Il valore predefinito è 20971520 . |
Elementi figlio
Elemento | Descrizione |
---|---|
customFields |
Elemento facoltativo. Specifica le impostazioni di configurazione per i campi personalizzati predefiniti in un log W3C. |
Esempio di configurazione
L'esempio di configurazione seguente specifica le opzioni predefinite logFile
.
<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>
Codice di esempio
Gli esempi di codice seguenti configurano le opzioni predefinite logFile
per IIS 7.
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
Nota
È necessario assicurarsi di impostare il parametro commit su apphost
quando si usa AppCmd.exe per configurare queste impostazioni. Questa operazione esegue il commit delle impostazioni di configurazione nella sezione percorso appropriata nel file di ApplicationHost.config.
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()