| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> |
| <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>mod_log_config - Serveur Apache HTTP Version 2.4</title> |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> |
| <script src="../style/scripts/prettify.min.js" type="text/javascript"> |
| </script> |
| |
| <link href="../images/favicon.ico" rel="shortcut icon" /></head> |
| <body> |
| <div id="page-header"> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> |
| <p class="apache">Serveur Apache HTTP Version 2.4</p> |
| <img alt="" src="../images/feather.png" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> |
| <div id="page-content"> |
| <div id="preamble"><h1>Module Apache mod_log_config</h1> |
| <div class="toplang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> | |
| <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> |
| </div> |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des requêtes envoyées au |
| serveur</td></tr> |
| <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr> |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_config_module</td></tr> |
| <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_config.c</td></tr></table> |
| <h3>Sommaire</h3> |
| |
| <p>Ce module apporte une grande souplesse dans la journalisation des |
| requêtes des clients. Les journaux sont écrits sous un format |
| personnalisable, et peuvent être enregistrés directement dans un |
| fichier, ou redirigés vers un programme externe. La journalisation |
| conditionnelle est supportée, si bien que des requêtes individuelles |
| peuvent être incluses ou exclues des journaux en fonction de leur |
| caractéristiques.</p> |
| |
| <p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> crée un fichier |
| journal, <code class="directive"><a href="#logformat">LogFormat</a></code> |
| définit un format personnalisé, et <code class="directive"><a href="#customlog">CustomLog</a></code> définit un fichier journal et un format en |
| une seule étape. Pour journaliser les requêtes dans plusieurs |
| fichiers, vous pouvez utiliser plusieurs fois les directives |
| <code class="directive">TransferLog</code> et |
| <code class="directive">CustomLog</code> dans chaque serveur.</p> |
| </div> |
| <div id="quickview"><h3>Sujets</h3> |
| <ul id="topics"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations concernant la |
| sécurité</a></li> |
| </ul><h3 class="directives">Directives</h3> |
| <ul id="toc"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li> |
| </ul> |
| <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Signaler un bug</a></li></ul><h3>Voir aussi</h3> |
| <ul class="seealso"> |
| <li><a href="../logs.html">Les fichiers journaux |
| d'Apache</a></li> |
| <li><a href="#comments_section">Commentaires</a></li></ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="formats" id="formats">Formats de journaux personnalisés</a></h2> |
| |
| <p>L'argument format des directives <code class="directive"><a href="#logformat">LogFormat</a></code> et <code class="directive"><a href="#customlog">CustomLog</a></code> est une chaîne de |
| caractères. Cette chaîne définit le format de la journalisation des |
| requêtes dans le fichier journal. Elle peut contenir des caractères |
| littéraux qui seront reproduits dans le fichier journal, et les |
| caractères de contrôle de style C "\n" et "\t" représentant |
| respectivement une nouvelle ligne et une tabulation. Les guillemets |
| et les anti-slashes littéraux doivent être échappés à l'aide |
| d'anti-slashes.</p> |
| |
| <p>Les caractéristiques de la requête en elle-même sont journalisées |
| en insérant des directives "<code>%</code>" dans la chaîne de |
| format, celles-ci étant remplacées dans le fichier journal par |
| certaines valeurs comme suit :</p> |
| |
| <table class="bordered"><tr class="header"><th>Chaîne de format</th> |
| <th>Description</th></tr> |
| <tr><td><code>%%</code></td> |
| <td>Le signe "pourcentage"</td></tr> |
| <tr class="odd"><td><code>%a</code></td> |
| <td>L'adresse IP distante (voir le module |
| <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</td></tr> |
| <tr><td><code>%{c}a</code></td> |
| <td>Adresse IP distante de la connexion(voir le module |
| <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr> |
| <tr class="odd"><td><code>%A</code></td> |
| <td>L'adresse IP locale</td></tr> |
| <tr><td><code>%B</code></td> |
| <td>La taille de la réponse en octets, en excluant les en-têtes |
| HTTP.</td></tr> |
| <tr class="odd"><td><code>%b</code></td> |
| <td>La taille de la réponse en octets, en excluant les en-têtes |
| HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la |
| place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr> |
| <tr><td><code>%{<var>NOMVAR</var>}C</code></td> |
| <td>Le contenu du cookie <var>NOMVAR</var> dans la requête |
| envoyée au serveur. Seuls les cookies version 0 sont pleinement |
| supportés.</td></tr> |
| <tr class="odd"><td><code>%D</code></td> |
| <td>Le temps mis à servir la requête, en |
| microsecondes.</td></tr> |
| <tr><td><code>%{<var>NOMVAR</var>}e</code></td> |
| <td>Le contenu de la variable d'environnement |
| <var>NOMVAR</var></td></tr> |
| <tr class="odd"><td><code>%f</code></td> |
| <td>Nom de fichier</td></tr> |
| <tr><td><code>%h</code></td> |
| <td>Serveur distant. Contiendra l'adresse IP si la directive |
| <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie |
| à <code>Off</code>, ce qui est sa valeur par défaut. Si cette |
| adresse IP n'est enregistrée que pour certains serveurs, vous |
| avez probablement défini des directives de contrôle d'accès qui |
| mentionnent ces derniers par leurs noms. Voir la <a href="mod_authz_host.html#reqhost">documentation de Require |
| host</a>.</td></tr> |
| <tr class="odd"><td><code>%H</code></td> |
| <td>Le protocole de la requête</td></tr> |
| <tr><td><code>%{<var>NOMVAR</var>}i</code></td> |
| <td>Le contenu des lignes d'en-tête |
| <code><var>NOMVAR</var>:</code> dans la requête envoyée au |
| serveur. Ces en-têtes sont ajoutés par d'autres modules (par |
| exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). Si vous êtes intéressé |
| par ce qu'était l'en-tête de la requête avant d'être modifié |
| par la plupart des modules, utilisez |
| <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> pour copier l'en-tête dans une |
| variable d'environnement interne et journaliser sa valeur via |
| le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut. |
| |
| </td></tr> |
| <tr class="odd"><td><code>%k</code></td> |
| <td>Nombre de requêtes persistantes en cours pour cette |
| connexion. Interessant si la directive <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> est utilisée ; par exemple, |
| '1' signifie la première requête après la requête initiale, '2' |
| la seconde, etc... ; autrement, il s'agit toujours de 0 |
| (indiquant la requête initiale).</td></tr> |
| <tr><td><code>%l</code></td> |
| <td>Le nom de connexion distant (en provenance d'identd, si |
| disponible). Affiche un tiret, sauf si |
| <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> est présent et si <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est à |
| <code>On</code>.</td></tr> |
| <tr class="odd"><td><code>%L</code></td> |
| <td>L'identifiant du message de journalisation de la requête |
| dans le journal des erreurs (ou '-' si aucun message n'a |
| été enregistré dans le journal des erreurs pour cette requête)</td></tr> |
| <tr><td><code>%m</code></td> |
| <td>La méthode de la requête</td></tr> |
| <tr class="odd"><td><code>%{<var>NOMVAR</var>}n</code></td> |
| <td>Le contenu de la note <var>NOMVAR</var> en provenance d'un |
| autre module.</td></tr> |
| <tr><td><code>%{<var>NOMVAR</var>}o</code></td> |
| <td>Le contenu de la ligne d'en-tête |
| <code><var>NOMVAR</var>:</code> de la réponse.</td></tr> |
| <tr class="odd"><td><code>%p</code></td> |
| <td>Le port canonique du serveur servant la requête</td></tr> |
| <tr><td><code>%{<var>format</var>}p</code></td> |
| <td>Le port canonique du serveur servant la requête ou le |
| véritable port du serveur ou le véritable port du client. les |
| formats valides sont <code>canonical</code>, <code>local</code>, |
| ou <code>remote</code>. |
| </td></tr> |
| <tr class="odd"><td><code>%P</code></td> |
| <td>Le numéro de processus du processus enfant qui a servi la |
| requête.</td></tr> |
| <tr><td><code>%{<var>format</var>}P</code></td> |
| <td>Le numéro de processus ou le numéro de thread du processus |
| enfant qui a servi la requête. Les formats valides sont |
| <code>pid</code>, <code>tid</code>, et <code>hextid</code>. |
| <code>hextid</code> nécessite APR version 1.2.0 ou supérieure. |
| </td></tr> |
| <tr class="odd"><td><code>%q</code></td> |
| <td>La chaîne d'arguments (préfixée par un <code>?</code> si une |
| chaîne d'arguments existe, sinon une chaîne vide)</td></tr> |
| <tr><td><code>%r</code></td> |
| <td>La première ligne de la requête</td></tr> |
| <tr class="odd"><td><code>%R</code></td> |
| <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr> |
| <tr><td><code>%s</code></td> |
| <td>Statut. Pour les requêtes redirigées en interne, il s'agit |
| du statut de la requête *originale* --- <code>%>s</code> pour |
| la dernière.</td></tr> |
| <tr class="odd"><td><code>%t</code></td> |
| <td>Date à laquelle la requête a été reçue (au format anglais |
| standard)</td></tr> |
| <tr><td><code>%{<var>format</var>}t</code></td> |
| <td>La date, sous la forme spécifiée par format, qui devrait |
| être au format étendu <code>strftime(3)</code> (éventuellement |
| localisé). Si le format commence par <code>begin:</code> (valeur |
| par défaut), la date est extraite au début du traitement de la |
| requête ; s'il commence par <code>end:</code>, la date |
| correspond au moment où l'entrée du journal est inscrite, par |
| conséquent vers la fin du traitement de la requête. Hormis les |
| formats supportés par <code>strftime(3)</code>, les formats |
| suivants sont aussi disponibles : |
| <table> |
| <tr><td><code>sec</code></td><td>nombre de secondes depuis Epoch</td></tr> |
| <tr><td><code>msec</code></td><td>nombre de millisecondes depuis Epoch</td></tr> |
| <tr><td><code>usec</code></td><td>nombre de microsecondes depuis Epoch</td></tr> |
| <tr><td><code>msec_frac</code></td><td>fraction de milliseconde</td></tr> |
| <tr><td><code>usec_frac</code></td><td>fraction de microseconde</td></tr> |
| </table> |
| Ces symboles ne peuvent pas être combinés entre eux ou avec un |
| formatage <code>strftime(3)</code> dans la même chaîne de |
| format. Par contre, vous pouvez utiliser plusieurs symboles |
| <code>%{<var>format</var>}t</code>.</td></tr> |
| <tr class="odd"><td><code>%T</code></td> |
| <td>Le temps mis pour servir la requête, en secondes.</td></tr> |
| <tr><td><code>%{<var>UNIT</var>}T</code></td> |
| <td>Le temps mis pour traiter la requête dans une unité définie |
| par <code>UNIT</code>. Les valeurs d'unité valides sont |
| <code>ms</code> pour millisecondes, <code>us</code> pour |
| microsecondes et <code>s</code> pour secondes. Si |
| <code>UNIT</code> est omis, la valeur de l'unité par défaut est |
| la seconde ; spécifier la valeur d'unité <code>us</code> revient |
| à utiliser le format <code>%D</code>. La possibilité de |
| spécifier une valeur d'unité avec le format <code>%T</code> est |
| disponible depuis la version 2.4.13 du serveur HTTP Apache.</td></tr> |
| <tr class="odd"><td><code>%u</code></td> |
| <td>L'utilisateur distant (en provenance d'auth ; peut être faux |
| si le statut de retour (<code>%s</code>) est 401).</td></tr> |
| <tr><td><code>%U</code></td> |
| <td>Le chemin de la requête, à l'exclusion de toute chaîne |
| d'arguments.</td></tr> |
| <tr class="odd"><td><code>%v</code></td> |
| <td>Le nom canonique du serveur qui a servi la requête, défini |
| par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</td></tr> |
| <tr><td><code>%V</code></td> |
| <td>La nom du serveur en tenant compte de la définition de la |
| directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</td></tr> |
| <tr class="odd"><td><code>%X</code></td> |
| <td>Statut de la connexion lorsque la réponse a été renvoyée |
| : |
| |
| <table> |
| |
| <tr><td><code>X</code> =</td> |
| <td>connexion abandonnée avant l'envoi de la réponse.</td></tr> |
| <tr><td><code>+</code> =</td> |
| <td>la connexion peut rester ouverte après l'envoi de la |
| réponse.</td></tr> |
| <tr><td><code>-</code> = </td> |
| <td>la connexion sera fermée après l'envoi de la |
| réponse.</td></tr> |
| </table> |
| |
| </td></tr> |
| <tr><td><code>%I</code></td> |
| <td>Le nombre d'octets reçus, en comptant la requête et les |
| en-têtes, ne peut être nul. Nécessite l'activation de |
| <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr> |
| <tr class="odd"><td><code>%O</code></td> |
| <td>Nombre d'octets envoyés, y compris les en-têtes. Peut être |
| nul dans les rares cas où une requête est avortée avant que la |
| réponse ne soit envoyée. Nécessite l'activation de |
| <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr> |
| <tr><td><code>%S</code></td> |
| <td>Nombre d'octets transmis (en émission et réception), y |
| compris corps et en-têtes de requête. Ce nombre ne peut pas être |
| nul, et il correspond à la combinaison des formats %I et %O. |
| <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> doit être chargé pour pouvoir |
| utiliser ce format.</td></tr> |
| <tr class="odd"><td><code>%{<var>VARNAME</var>}^ti</code></td> |
| <td>Le contenu de <code><var>VARNAME</var>:</code> dans les |
| paramètres de la requête envoyée au serveur.</td></tr> |
| <tr><td><code>%{<var>VARNAME</var>}^to</code></td> |
| <td>Le contenu de <code><var>VARNAME</var>:</code> dans les |
| paramètres de la réponse envoyée par le serveur.</td></tr> |
| </table> |
| |
| <h3><a name="modifiers" id="modifiers">Modificateurs</a></h3> |
| |
| <p>Il est possible de restreindre l'enregistrement de certains |
| éléments |
| en fonction du code de statut de la réponse, en insérant une liste |
| de codes de statut séparés par des virgules immédiatement après le |
| caractère "%". Par exemple, <code>"%400,501{User-agent}i"</code> |
| n'enregistrera l'en-tête <code>User-agent</code> que dans le cas |
| d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la |
| chaîne littérale <code>"-"</code> qui sera enregistrée. La liste |
| de codes peut être précédée d'un "<code>!</code>" pour inverser la |
| condition : <code>"%!200,304,302{Referer}i"</code> enregistre |
| l'en-tête <code>Referer</code> pour toutes les requêtes qui |
| <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p> |
| |
| <p>Les modificateurs "<" et ">" peuvent être utilisés pour |
| les requêtes qui ont été redirigées en interne afin de choisir si |
| c'est respectivement la requête originale ou finale qui doit être |
| consultée. Par défaut, les directives <code>%s, %U, %T, %D,</code> |
| et <code>%r</code> consultent la requête originale, alors que |
| toutes les autres consultent la requête finale. Ainsi, par |
| exemple, on peut utiliser <code>%>s</code> pour enregistrer le |
| statut final de la requête, et <code>%<u</code> pour |
| enregistrer l'utilisateur authentifié à l'origine pour une requête |
| redirigée en interne vers une ressource sans authentification.</p> |
| |
| |
| |
| <h3><a name="format-notes" id="format-notes">Quelques Notes</a></h3> |
| |
| <p>Pour des raisons de sécurité, à partir de la version 2.0.46, |
| les caractères non imprimables et autres caractères spéciaux dans |
| les directives <code>%r</code>, <code>%i</code> et <code>%o</code> |
| doivent être échappés à l'aide des séquences |
| <code>\x<var>hh</var></code>, |
| où <var>hh</var> est le code hexadécimal du caractère spécial. |
| Comme exceptions à cette règle, les caractères <code>"</code> et |
| <code>\</code> doivent être échappés par un anti-slash, et tous |
| les "blancs" doivent être écrits selon leur notation de style C |
| (<code>\n</code>, <code>\t</code>, etc...). Avant la version |
| 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il |
| fallait être très prudent lors de l'exploitation des journaux |
| bruts.</p> |
| |
| <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes |
| de format <code>%b</code> et <code>%B</code> ne représentent pas |
| le nombre d'octets envoyés au client, mais simplement la taille en |
| octets de la réponse HTTP (les deux étant différents, par exemple, |
| si la connexion est abandonnée, ou si SSL est utilisé). Le format |
| <code>%O</code> fourni par <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>, |
| enregistrera le nombre réel d'octets envoyés sur le réseau.</p> |
| |
| <p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est implémenté en tant que |
| gestionnaire basique et non en tant que gestionnaire standard. |
| C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas |
| d'information à propos du gestionnaire lorsqu'une mise en cache de |
| contenu entre en jeu.</p> |
| |
| |
| |
| <h3><a name="examples" id="examples">Exemples</a></h3> |
| |
| <p>Quelques chaînes de format couramment utilisées :</p> |
| |
| <dl> |
| <dt>Format de journal courant (CLF)</dt> |
| <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> |
| |
| <dt>Format de journal courant avec un serveur virtuel</dt> |
| <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> |
| |
| <dt>Format de journal NCSA étandu/combiné</dt> |
| <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" |
| \"%{User-agent}i\""</code></dd> |
| |
| <dt>Format de journal de la page qui contient le lien vers la |
| page concernée (Referer)</dt> |
| <dd><code>"%{Referer}i -> %U"</code></dd> |
| |
| <dt>Format de journal de l'agent (Navigateur)</dt> |
| <dd><code>"%{User-agent}i"</code></dd> |
| </dl> |
| |
| <p>Vous pouvez utiliser plusieurs fois la directive |
| <code>%{format}t</code> pour construire un format de temps |
| utilisant les symboles de format étendus tels que |
| <code>msec_frac</code> :</p> |
| <dl> |
| <dt>Format de temps prenant en compte les milisecondes</dt> |
| <dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></dd> |
| |
| </dl> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="security" id="security">Considérations concernant la |
| sécurité</a></h2> |
| <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils à matière de |
| sécurité</a> pour plus de détails sur les raisons pour lesquelles |
| votre sécurité pourrait être compromise, si le répertoire où sont |
| stockés les fichiers journaux sont inscriptibles par tout autre |
| utilisateur que celui qui démarre le serveur.</p> |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="bufferedlogs" id="bufferedlogs">Directive</a> <a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les entrées du journal dans un tampon en mémoire |
| avant de les écrire sur disque</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferedLogs On|Off</code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferedLogs Off</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> |
| </table> |
| <p>Lorsque la directive <code class="directive">BufferedLogs</code> est à |
| "on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> stocke de nombreuses entrées |
| du journal en mémoire, et les écrit d'un seul bloc sur disque, |
| plutôt que de les écrire après chaque requête. Sur certains |
| systèmes, ceci peut améliorer l'efficacité des accès disque, et par |
| conséquent les performances. La directive ne peut être définie |
| qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être |
| définie au niveau d'un serveur virtuel.</p> |
| |
| <div class="note">Cette directive doit être utilisée avec |
| précautions car un crash peut provoquer la perte de données de |
| journalisation.</div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="customlog" id="customlog">Directive</a> <a name="CustomLog" id="CustomLog">CustomLog</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier |
| journal</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CustomLog <var>fichier</var>|<var>pipe</var> |
| <var>format</var>|<var>alias</var> |
| [env=[!]<var>variable-environnement</var>| |
| expr=<var>expression</var>]</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> |
| </table> |
| <p>La directive <code class="directive">CustomLog</code> permet de contrôler |
| la journalisation des requêtes destinées au serveur. Un format de |
| journal est spécifié, et la journalisation peut s'effectuer de |
| manière conditionnelle en fonction des caractéristiques de la |
| requête en utilisant des variables d'environnement.</p> |
| |
| <p>Le premier argument, qui spécifie l'emplacement où les journaux |
| seront écrits, accepte deux types de valeurs :</p> |
| |
| <dl> |
| <dt><var>fichier</var></dt> |
| <dd>Un nom de fichier, relatif au répertoire défini par la |
| directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> |
| |
| <dt><var>pipe</var></dt> |
| <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un |
| programme qui recevra les informations de la journalisation sur |
| son entrée standard. Voir les notes à propos de la <a href="../logs.html#piped">journalisation redirigée</a> pour plus |
| d'informations. |
| |
| <div class="warning"><h3>Sécurité :</h3> |
| <p>Si les journaux sont redirigés vers un programme, ce dernier |
| s'exécutera sous l'utilisateur qui a démarré |
| <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur |
| a été démarré par root ; vérifiez que le programme est |
| sécurisé.</p> |
| </div> |
| <div class="warning"><h3>Note</h3> |
| <p>Lors de la spécification d'un chemin de fichier sur les |
| plate-formes non-Unix, il faut prendre soin de ne pas oublier |
| que seuls les slashes directs doivent être utilisés, même si la |
| plate-forme autorise l'emploi d'anti-slashes. D'une manière |
| générale, c'est une bonne idée que de n'utiliser que des slashes |
| directs dans les fichiers de configuration.</p> |
| </div></dd> |
| </dl> |
| |
| <p>Le second argument permet de définir ce qui va être écrit dans le |
| fichier journal. Il peut contenir soit un <var>alias</var> prédéfini |
| par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une chaîne de |
| <var>format</var> explicite comme décrit dans la section <a href="#formats">formats de journaux</a>.</p> |
| |
| <p>Par exemple, les deux blocs de directives suivants produisent le |
| même effet :</p> |
| |
| <pre class="prettyprint lang-config"># Journal personnalisé avec alias de format |
| LogFormat "%h %l %u %t \"%r\" %>s %b" common |
| CustomLog "logs/access_log" common |
| |
| # Journal personnalisé avec chaîne de format explicite |
| CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"</pre> |
| |
| |
| <p>Le troisième argument est optionnel et permet de contrôler si une |
| requête doit être ou non journalisée. Dans le cas d'une clause |
| '<code>env=!<var>nom</var></code>', la condition peut être la |
| présence ou l'absence d'une variable particulière dans |
| l'<a href="../env.html">environnement du serveur</a>. Dans le cas |
| d'une clause 'expr=<var>expression</var>', la condition consiste |
| en une <a href="../expr.html">expression</a> booléenne |
| quelconque. Si la condition n'est pas vérifiée, la requête ne sera |
| pas journalisée. 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.</p> |
| |
| <p>Les variables d'environnement peuvent être définies au niveau de |
| chaque requête en utilisant les modules |
| <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> et/ou <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. |
| Par exemple, si vous voulez enregistrer les requêtes pour toutes les |
| images GIF sur votre serveur dans un fichier journal séparé, et pas |
| dans votre journal principal, vous pouvez utiliser :</p> |
| |
| <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image |
| CustomLog "gif-requests.log" common env=gif-image |
| CustomLog "nongif-requests.log" common env=!gif-image</pre> |
| |
| |
| <p>Ou, pour reproduire le comportement de l'ancienne directive |
| RefererIgnore, vous pouvez utiliser :</p> |
| |
| <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer |
| CustomLog "referer.log" referer env=!localreferer</pre> |
| |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="globallog" id="globallog">Directive</a> <a name="GlobalLog" id="GlobalLog">GlobalLog</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier journal</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var> |
| <var>format</var>|<var>nickname</var> |
| [env=[!]<var>environment-variable</var>| |
| expr=<var>expression</var>]</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr> |
| </table> |
| |
| <p>La directive <code class="directive">GlobalLog</code> permet de spécifier un |
| journal partagé entre le serveur principal et tous les serveurs virtuels |
| définis.</p> |
| |
| <p>Elle est identique à la directive <code class="directive">CustomLog</code> à ces |
| différences près : </p> |
| <ul> |
| <li>Elle n'est pas valide dans un contexte de serveur virtuel.</li> |
| <li>A la différence d'une directive <code class="directive">CustomLog</code> |
| définie globalement, elle est prise en compte par les serveurs virtuels |
| qui définissent leur propre directive <code class="directive">CustomLog</code>.</li> |
| </ul> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="logformat" id="logformat">Directive</a> <a name="LogFormat" id="LogFormat">LogFormat</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Décrit un format utilisable dans un fichier |
| journal</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogFormat <var>format</var>|<var>alias</var> |
| [<var>alias</var>]</code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> |
| </table> |
| <p>Cette directive permet de spécifier le format du fichier journal |
| des accès.</p> |
| |
| <p>La directive <code class="directive">LogFormat</code> se présente sous |
| deux formes. Sous la première forme, qui ne possède qu'un seul |
| argument, la directive définit le format qui sera utilisé dans les |
| journaux spécifiés par les directives |
| <code class="directive">TransferLog</code> ultérieures. L'argument unique |
| peut contenir un <var>format</var> explicite comme décrit dans la |
| section <a href="#formats">formats de journaux personnalisés</a> |
| ci-dessus. Il peut aussi contenir un <var>alias</var> faisant |
| référence à un format de journal prédéfini par une directive |
| <code class="directive">LogFormat</code> comme décrit plus loin.</p> |
| |
| <p>Sous sa seconde forme, la directive |
| <code class="directive">LogFormat</code> associe un <var>format</var> |
| explicite à un <var>alias</var>. Cet <var>alias</var> peut |
| ensuite s'utiliser dans les directives |
| <code class="directive">LogFormat</code> ou <code class="directive"><a href="#customlog">CustomLog</a></code> ultérieures, ce qui |
| évite d'avoir à répéter l'ensemble de la chaîne de format. Une |
| directive <code class="directive">LogFormat</code> qui définit un alias |
| <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne |
| fait que</em> définir l'alias, elle n'applique pas le format et n'en |
| fait pas le format par défaut. Par conséquent, elle n'affecte pas |
| les directives <code class="directive"><a href="#transferlog">TransferLog</a></code> ultérieures. En |
| outre, la directive <code class="directive">LogFormat</code> ne peut pas |
| utiliser un alias pour en définir un autre. Notez que l'alias ne |
| doit pas contenir de caractère pourcent (<code>%</code>).</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun</pre> |
| </div> |
| |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="transferlog" id="transferlog">Directive</a> <a name="TransferLog" id="TransferLog">TransferLog</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'emplacement d'un fichier journal</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TransferLog <var>fichier</var>|<var>pipe</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr> |
| </table> |
| <p>Cette directive possède exactement les mêmes arguments et produit |
| les mêmes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, à l'exception qu'elle |
| ne permet pas de spécifier un format de journal explicite ou la |
| journalisation conditionnelle des requêtes. En l'occurrence, le |
| format de journal est déterminé par la dernière définition d'une |
| directive <code class="directive"><a href="#logformat">LogFormat</a></code> |
| qui ne définit pas d'alias. Si aucun format particulier n'a été |
| spécifié, c'est le Common Log Format qui sera utilisé.</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" |
| TransferLog logs/access_log</pre> |
| </div> |
| |
| </div> |
| </div> |
| <div class="bottomlang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> | |
| <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | |
| <a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | |
| <a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> |
| </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> |
| <script type="text/javascript"><!--//--><![CDATA[//><!-- |
| var comments_shortname = 'httpd'; |
| var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html'; |
| (function(w, d) { |
| if (w.location.hostname.toLowerCase() == "httpd.apache.org") { |
| d.write('<div id="comments_thread"><\/div>'); |
| var s = d.createElement('script'); |
| s.type = 'text/javascript'; |
| s.async = true; |
| s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; |
| (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); |
| } |
| else { |
| d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); |
| } |
| })(window, document); |
| //--><!]]></script></div><div id="footer"> |
| <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- |
| if (typeof(prettyPrint) !== 'undefined') { |
| prettyPrint(); |
| } |
| //--><!]]></script> |
| </body></html> |