Java & le web
x Le web dynamique
x Java & le web

Intro à Tomcat
x Serveur d'applications
x Présentation Tomcat
x Installation
x Arborescence

Configuration
x Introduction
x Server
x Service
x Engine
x Host
x Context
x DefaultContext
x Logger
x Loader
x Realm
x Valve

Connecteurs
x Balise Connector
x Coyote HTTP/1.1

Sécurisation accès
x La balise Realm
x Memory Based
x JDBC Database
x Protéger ressources
x Cryptage password

Les Valve
x La balise Valve
x Access Log
x Single Sign-On

Fonctionnalités
x Déploiement auto.
x Class loaders

Eclipse & Tomcat
x Plug-in pour Eclipse
x Projet Tomcat
x Debugger des JSP

Créer une appli web
x Présentation
x Architecture
x Fichier web.xml
x Déploiement

Tomcat 5
x Nouveautés

Tomcat's Corner
x Crédits
x Liens
 
             
Access Log Valve

 

 

Rôle

Il s'agit d'une Valve dont le but est de produire des fichiers de logs dans un format similaire à celui des serveurs web classiques. Le but est de permettre l'analyse de ces logs par des outils d'analyse standard (nombre de pages visistées, tracking de session...). On associe une telle Valve à un conteneur Tomcat (Engine, Host ou Context) et elle enregistrera toutes les requêtes traitées par celui-ci.

Un certain nombre de paramètres et de fonctionnalités sont communes à cette Valve et au File Logger de Tomcat. Notamment le changement automatique quotidien de fichier de log (pour la première requête reçue après minuit).

Pour utiliser cette Valve, on spécifie bien sûr une balise Valve à laquelle on fournira comme attribut className la valeur "org.apache.catalina.valves.AccessLogValve".

Balise ancêtre

Engine, Host ou Context. Chacun peut recevoir autant de Valve que souhaité.

 

Balises filles

Aucune.

 

Attributs obligatoires

Nom Description
className Nom de la classe Java à utiliser pour cette Valve. Cet attribut est obligatoire car il s'agit de spécifier quelle Valve on utilise. En l'occurence, ici, la valeur doit être org.apache.catalina.valves.AccessLogValve.

 

Attributs optionnels

Nom Description
directory Répertoire où enregistrer les logs. Le chemin peut être absolu, ou relatif au répertoire de base de Tomcat (TOMCAT_HOME). Si aucun répertoire n'est spécifié, le répertoire "logs" de Tomcat sera utilisé par défaut.
pattern Format de la chaîne de caractères représentant un log. La configuration de la pattern est détaillée juste en dessous. La valeur par défaut est "%h %l %u %t "%r" %s %b" (voir la signification plus bas ).
prefix Le préfixe à utiliser lors de la création des noms de fichiers. Si le préfixe est "myapp." et le suffixe ".log", les fichiers auront pour nom myapp.2004-01-20.log.txt. Le préfixe par défaut est " access_log.". Donc, pour un préfixe vide, utiliser la chaîne de caractères "" (vide).
resolveHosts Active la recherche DNS pour enregistrer les noms DNS des clients au lieu des adresses IP.
suffix Le suffixe à utiliser lors de la création des noms de fichiers. Si le préfixe est "myapp." et le suffixe ".log", les fichiers auront pour nom myapp.2004-01-20.log.txt. Le suffixe par défaut est "" (chaîne de caractères vide).

 

=> Définition de la pattern

Dans l'attribut pattern, on peut combiner des chaînes de caractères constantes ("monAppli") et des paramètres relatifs aux données enregistrées (commençant par '%'), dont voici la liste :

  • %a - Adresse IP client
  • %A - Adresse IP serveur
  • %b - Nombre d'octets envoyés (sauf les en-têtes HTTP). La valeur est '-' si aucun octet n'est envoyé.
  • %B - Nombre d'octets envoyés.
  • %h - Nom DNS du client si resolveHosts est à true. Sinon, adresse IP client.
  • %H - Protocole de la requête.
  • %m - Méthode de la requête (GET, POST).
  • %p - Port local qui a reçu la requête.
  • %q - Chaîne de paramètres de la requête. Elle commence par le symbole '?'.
  • %r - Première ligne de la requête, correspondant à la méthode et à l'URI demandée.
  • %s - Code HTTP de la réponse (200 pour OK, 404 pour Page Not Found...).
  • %S - Identificateur de session.
  • %t - Date et heure, au format "Common Log Format ".
  • %u - Utilisateur authentifié. Si l'utilisateur n'était authentifié, la valeur est '-' .
  • %U - URL demandée.
  • %v - Nom du serveur.

Comme indiqué plus haut, la valeur par défaut est "%h %l %u %t "%r" %s %b" .