<?xml version="1.0" encoding="UTF-8"?>
<!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=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_log_config - Serveur HTTP Apache 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 HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_log_config.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_log_config">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;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&nbsp;de&nbsp;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>%&gt;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 "&lt;" et "&gt;" 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>%&gt;s</code> pour enregistrer le
      statut final de la requête, et <code>%&lt;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\" %&gt;s %b"</code></dd>

        <dt>Format de journal courant avec un serveur virtuel</dt>
        <dd><code>"%v %h %l %u %t \"%r\" %&gt;s %b"</code></dd>

        <dt>Format de journal NCSA étandu/combiné</dt>
        <dd><code>"%h %l %u %t \"%r\" %&gt;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 -&gt; %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 globale</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 globale, 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\" %&gt;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\" %&gt;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 globale</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\" %&gt;s %b"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, 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\" %&gt;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 globale, 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\" %&gt;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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_log_config.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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&amp;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 2019 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>