Le composant IISLog permet d'administrer ou d'explorer un fichier journal généré par le serveur Internet Information Server (IIS).
La déclaration ci-dessous, permet de créer une instance du composant IISLog sous VBScript.
Set objet = Server.CreateObject("MSWC.IISLog")
Sous JScript, il suffit de remplacer l'instruction Set par var si l'objet n'a pas été préalablement déclaré, sinon supprimer la simplement.
L'inclusion d'une directive METADATA dans l'entête du document ASP, est impérative en raison de l'utilisation des constantes ForReading, ForWriting et AllOpenFiles, servant de paramètres d'ouverture d'un fichier journal avec l'instruction OpenLogFiles.
<!-- METADATA type="typelib"
FILE="C:\WINNT\system32\inetsrv\logscrpt.dll" -->
Le composant IISLog dépend de la librairie logscrpt.dll, c'est pourquoi la directive d'u=inclusion pointe vers ce fichier.
L'utilisation du composant IISLog dans une document Web nécessite de désactiver l'Accès anonyme dans les paramètres de sécurité concernant la page.

Le fichier journal par défaut de Internet Information Server (IIS) est localisé dans le répertoire suivant :
C:\WINNT\system32\LogFiles\W3SVC1\
Le fichier Log énumère l'ensemble des accès effectués sur le serveur courant.
Les Propriétés| Méthode |
|---|
| Description |
| BytesReceived |
| indique les octets reçus. |
| BytesSent |
| indique les octet envoyés. |
| ClientIP |
| indique le nom d'hôte du client. |
| Cookie |
| indique le cookie du client. |
| CustomFields |
| indique un tableau d'entêtes personnalisés. |
| DateTime |
| indique la date et l'heure en GMT. |
| Method |
| indique le type d'opération. |
| ProtocolStatus |
| indique le statut du protocole. |
| ProtocolVersion |
| indique la version par une chaine de caractères. |
| Referer |
| indique l'URL de la page contenant le lien ayant initialisé la requête. |
| ServerIP |
| indique l'adresse IP du serveur. |
| ServerName |
| indique le nom du serveur. |
| ServerPort |
| indique le numéro de port. |
| ServiceName |
| indique le nom du service. |
| TimeTaken |
| indique le temps système total de traîtement. |
| URIQuery |
| indique tous les paramètres passés avec la requête. |
| URIStem |
| indique l'URL cible. |
| UserAgent |
| indique l'agent utilisateur (navigateur). |
| UserName |
| indique le nom d'utilisateur. |
| Win32Status |
| indique le code du statut Win32. |
| Propriété |
|---|
| Description |
| AtEndOfLog() |
| indique si tous les enregistrements ont été lus à partir du fichier log. |
| CloseLogFiles(ForReading(0) | ForWriting(1) | AllOpenFiles(32)) |
| ferme tous les fichiers log ouverts. |
| OpenLogFile(nom_fichier, mode_E/S, nom_service, instance_service, format_sortie) |
| ouvre un fichier log en lecture et écriture. |
| ReadFilter(nb_début, nb_fin) |
| filtre les enregistrements du fichier log par date et temps. |
| ReadLogRecord() |
| lit le prochain enregistrement disponible du fichier lo courant. |
| WriteLogRecord(objet_journal) |
| écrit un enregistrement dans le fichier log courant. |
<!-- METADATA type="typelib" FILE="C:\WINNT\system32\inetsrv\logscrpt.dll" -->
<html>
<body>
<%
Dim objJournal
Set objJournal = Server.CreateObject("MSWC.IISLog")
objJournal.OpenLogFile _
"C:\WINNT\system32\LogFiles\W3SVC1\extend1.log", _
ForReading, "W3SVC", 1, 0
objJournal.ReadFilter DateAdd("d", -1, Now), Now
%>
<table cellpadding="10">
<tr>
<th>Date/Heure</th>
<th>Adresse IP</th>
<th>Nom d'utilisateur</th>
<th>Agent utilisateur</th>
<th>Page demandée</th>
</tr>
<%
Do While Not objJournal.AtEndOfLog
objJournal.ReadLogRecord
%>
<tr>
<td><% = objJournal.DateTime %></td>
<td><% = objJournal.ClientIP %></td>
<td><% = objJournal.UserName %></td>
<td><% = objJournal.UserAgent %></td>
<td><% = objJournal.URIStem %></td>
</tr>
<%
Loop
objJournal.CloseLogFiles(ForReading)
%>
</table>
</body>
</html> |