Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_log_debug

Description: | Journalisation supplémentaire à des fins de débogage
Statut: | Expérimental
Identificateur de Module: | log_debug_module
Fichier Source: | mod_log_debug.c
Compatibilité: | Disponible depuis la version 2.3.14 d'Apache

### Sujets

- Exemples

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

## Exemples

1. Enregistre un message après le traitement d'une requête pour /foo/* :

       <Location "/foo/">
         LogMessage "/foo/ has been requested"
       </Location>

2. Enregistre un message si une requête pour /foo/* est traitée dans une sous-requête :

       <Location "/foo/">
         LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
       </Location>

   Le branchement (hook) par défaut log_transaction n'est pas exécuté pour les sous-requêtes ; nous devons donc en utiliser un autre.
3. Enregistre un message si un client IPv6 est à l'origine d'un dépassement de délai pour une requête :

       LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"

   Notez l'emplacement des guillemets pour l'argument `expr=`.
4. Enregistre la valeur de la variable d'environnement de requête "X-Foo" à chaque étape du traitement :

       <Location "/">
         LogMessage "%{reqenv:X-Foo}" hook=all
       </Location>

   En association avec les repères de temps en microsecondes du journal des erreurs, `hook=all` permet aussi de déterminer la durée d'exécution des différentes phases du traitement de la requête.

## Directive LogMessage

Description: | Enregistre des messages personnalisés dans le journal des erreurs
Syntaxe: | `LogMessage message [hook=hook] [expr=expression]`
Défaut: | `Non défini`
Contexte: | répertoire
Statut: | Expérimental
Module: | mod_log_debug

Cette directive permet d'enregistrer un message personnalisé dans le journal des erreurs. Ce message peut utiliser des variables et des fonctions dans la syntaxe ap_expr. D'éventuelles références à des en-têtes HTTP dans l'expression rationnelle n'entraîneront pas l'ajout des noms d'en-tête correspondants à l'en-tête Vary. Les messages sont enregistrés au loglevel info.

Le branchement (hook) précise la phase du traitement de la requête avant laquelle le message sera enregistré. Les branchements suivants sont supportés :

Nom
`translate_name`
`type_checker`
`quick_handler`
`map_to_storage`
`check_access`
`check_access_ex`
`insert_filter`
`check_authn`
`check_authz`
`fixups`
`handler`
`log_transaction`

Le branchement par défaut est `log_transaction`. La valeur spéciale `all` est également supportée ; dans ce cas, le message sera enregistré à chaque phase. Tous les branchements ne sont pas exécutés pour chaque requête.

L'expression optionnelle permet de restreindre l'enregistrement du message en fonction d'une certaine condition. La syntaxe de l'expression est décrite dans la documentation ap_expr. D'éventuelles références à des en-têtes HTTP dans l'expression rationnelle n'entraîneront pas l'ajout des noms d'en-tête correspondants à l'en-tête Vary.