1
0
mirror of https://github.com/apache/httpd.git synced 2025-10-31 19:10:37 +03:00
Files
apache/docs/manual/mod/mod_log_config.html.fr
2017-08-28 12:37:14 +00:00

664 lines
38 KiB
Plaintext
Raw Blame History

<?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.5</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/quickreference.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.5</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.5</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<61>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<72>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<71>tes envoy<6F>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<75>de<64>Module:</a></th><td>log_config_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier<65>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<71>tes des clients. Les journaux sont <20>crits sous un format
personnalisable, et peuvent <20>tre enregistr<74>s directement dans un
fichier, ou redirig<69>s vers un programme externe. La journalisation
conditionnelle est support<72>e, si bien que des requ<71>tes individuelles
peuvent <20>tre incluses ou exclues des journaux en fonction de leur
caract<63>ristiques.</p>
<p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> cr<63>e un fichier
journal, <code class="directive"><a href="#logformat">LogFormat</a></code>
d<>finit un format personnalis<69>, et <code class="directive"><a href="#customlog">CustomLog</a></code> d<>finit un fichier journal et un format en
une seule <20>tape. Pour journaliser les requ<71>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<69>s</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">Consid<69>rations concernant la
s<EFBFBD>curit<EFBFBD></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<62>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<69>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<68>ne de
caract<63>res. Cette cha<68>ne d<>finit le format de la journalisation des
requ<71>tes dans le fichier journal. Elle peut contenir des caract<63>res
litt<74>raux qui seront reproduits dans le fichier journal, et les
caract<63>res de contr<74>le de style C "\n" et "\t" repr<70>sentant
respectivement une nouvelle ligne et une tabulation. Les guillemets
et les anti-slashes litt<74>raux doivent <20>tre <20>chapp<70>s <20> l'aide
d'anti-slashes.</p>
<p>Les caract<63>ristiques de la requ<71>te en elle-m<>me sont journalis<69>es
en ins<6E>rant des directives "<code>%</code>" dans la cha<68>ne de
format, celles-ci <20>tant remplac<61>es dans le fichier journal par
certaines valeurs comme suit :</p>
<table class="bordered"><tr class="header"><th>Cha<68>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 <20> dire un '<code>-</code>' <20> la
place d'un 0 lorsqu'aucun octet n'est renvoy<6F>.</td></tr>
<tr><td><code>%{<var>NOMVAR</var>}C</code></td>
<td>Le contenu du cookie <var>NOMVAR</var> dans la requ<71>te
envoy<6F>e au serveur. Seuls les cookies version 0 sont pleinement
support<72>s.</td></tr>
<tr class="odd"><td><code>%D</code></td>
<td>Le temps mis <20> servir la requ<71>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
<09> <code>Off</code>, ce qui est sa valeur par d<>faut. Si cette
adresse IP n'est enregistr<74>e que pour certains serveurs, vous
avez probablement d<>fini des directives de contr<74>le d'acc<63>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<71>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<71>te envoy<6F>e au
serveur. Ces en-t<>tes sont ajout<75>s par d'autres modules (par
exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). Si vous <20>tes int<6E>ress<73>
par ce qu'<27>tait l'en-t<>te de la requ<71>te avant d'<27>tre modifi<66>
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<71>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<69>e ; par exemple,
'1' signifie la premi<6D>re requ<71>te apr<70>s la requ<71>te initiale, '2'
la seconde, etc... ; autrement, il s'agit toujours de 0
(indiquant la requ<71>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<70>sent et si <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est <20>
<code>On</code>.</td></tr>
<tr class="odd"><td><code>%L</code></td>
<td>L'identifiant du message de journalisation de la requ<71>te
dans le journal des erreurs (ou '-' si aucun message n'a
<09>t<EFBFBD> enregistr<74> dans le journal des erreurs pour cette requ<71>te)</td></tr>
<tr><td><code>%m</code></td>
<td>La m<>thode de la requ<71>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<71>te</td></tr>
<tr><td><code>%{<var>format</var>}p</code></td>
<td>Le port canonique du serveur servant la requ<71>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<75>ro de processus du processus enfant qui a servi la
requ<71>te.</td></tr>
<tr><td><code>%{<var>format</var>}P</code></td>
<td>Le num<75>ro de processus ou le num<75>ro de thread du processus
enfant qui a servi la requ<71>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<75>rieure.
</td></tr>
<tr class="odd"><td><code>%q</code></td>
<td>La cha<68>ne d'arguments (pr<70>fix<69>e par un <code>?</code> si une
cha<68>ne d'arguments existe, sinon une cha<68>ne vide)</td></tr>
<tr><td><code>%r</code></td>
<td>La premi<6D>re ligne de la requ<71>te</td></tr>
<tr class="odd"><td><code>%R</code></td>
<td>Le gestionnaire qui g<>n<EFBFBD>re la r<>ponse (s'il y en a un).</td></tr>
<tr><td><code>%s</code></td>
<td>Statut. Pour les requ<71>tes redirig<69>es en interne, il s'agit
du statut de la requ<71>te *originale* --- <code>%&gt;s</code> pour
la derni<6E>re.</td></tr>
<tr class="odd"><td><code>%t</code></td>
<td>Date <20> laquelle la requ<71>te a <20>t<EFBFBD> re<72>ue (au format anglais
standard)</td></tr>
<tr><td><code>%{<var>format</var>}t</code></td>
<td>La date, sous la forme sp<73>cifi<66>e par format, qui devrait
<09>tre au format <20>tendu <code>strftime(3)</code> (<28>ventuellement
localis<69>). Si le format commence par <code>begin:</code> (valeur
par d<>faut), la date est extraite au d<>but du traitement de la
requ<71>te ; s'il commence par <code>end:</code>, la date
correspond au moment o<> l'entr<74>e du journal est inscrite, par
cons<6E>quent vers la fin du traitement de la requ<71>te. Hormis les
formats support<72>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 <20>tre combin<69>s entre eux ou avec un
formatage <code>strftime(3)</code> dans la m<>me cha<68>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<71>te, en secondes.</td></tr>
<tr><td><code>%{<var>UNIT</var>}T</code></td>
<td>Le temps mis pour traiter la requ<71>te dans une unit<69> d<>finie
par <code>UNIT</code>. Les valeurs d'unit<69> 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<69> par d<>faut est
la seconde ; sp<73>cifier la valeur d'unit<69> <code>us</code> revient
<09> utiliser le format <code>%D</code>. La possibilit<69> de
sp<73>cifier une valeur d'unit<69> 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 <20>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<71>te, <20> l'exclusion de toute cha<68>ne
d'arguments.</td></tr>
<tr class="odd"><td><code>%v</code></td>
<td>Le nom canonique du serveur qui a servi la requ<71>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 <20>t<EFBFBD> renvoy<6F>e
:
<table>
<tr><td><code>X</code> =</td>
<td>connexion abandonn<6E>e avant l'envoi de la r<>ponse.</td></tr>
<tr><td><code>+</code> =</td>
<td>la connexion peut rester ouverte apr<70>s l'envoi de la
r<>ponse.</td></tr>
<tr><td><code>-</code> = </td>
<td>la connexion sera ferm<72>e apr<70>s l'envoi de la
r<>ponse.</td></tr>
</table>
</td></tr>
<tr><td><code>%I</code></td>
<td>Le nombre d'octets re<72>us, en comptant la requ<71>te et les
en-t<>tes, ne peut <20>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<6F>s, y compris les en-t<>tes. Peut <20>tre
nul dans les rares cas o<> une requ<71>te est avort<72>e avant que la
r<>ponse ne soit envoy<6F>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 <20>mission et r<>ception y compris
la requ<71>te et les en-t<>tes ; cette valeur ne peut pas <20>tre
nulle, il s'agit de la combinaison de %I et %O. Vous devez
activer <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> pour utiliser cette cha<68>ne de
format.</td></tr>
<tr class="odd"><td><code>%{<var>VARNAME</var>}^ti</code></td>
<td>Le contenu de la variable <code><var>VARNAME</var>:</code>
sp<73>cifi<66>e dans la requ<71>te envoy<6F>e au serveur.</td></tr>
<tr><td><code>%{<var>VARNAME</var>}^to</code></td>
<td>Le contenu de la variable <code><var>VARNAME</var>:</code>
sp<73>cifi<66>e dans la r<>ponse envoy<6F>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
<20>l<EFBFBD>ments
en fonction du code de statut de la r<>ponse, en ins<6E>rant une liste
de codes de statut s<>par<61>s par des virgules imm<6D>diatement apr<70>s le
caract<63>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<68>ne litt<74>rale <code>"-"</code> qui sera enregistr<74>e. La liste
de codes peut <20>tre pr<70>c<EFBFBD>d<EFBFBD>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<71>tes qui
<em>ne</em> renvoient <em>pas</em> un des trois codes sp<73>cifi<66>s.</p>
<p>Les modificateurs "&lt;" et "&gt;" peuvent <20>tre utilis<69>s pour
les requ<71>tes qui ont <20>t<EFBFBD> redirig<69>es en interne afin de choisir si
c'est respectivement la requ<71>te originale ou finale qui doit <20>tre
consult<6C>e. Par d<>faut, les directives <code>%s, %U, %T, %D,</code>
et <code>%r</code> consultent la requ<71>te originale, alors que
toutes les autres consultent la requ<71>te finale. Ainsi, par
exemple, on peut utiliser <code>%&gt;s</code> pour enregistrer le
statut final de la requ<71>te, et <code>%&lt;u</code> pour
enregistrer l'utilisateur authentifi<66> <20> l'origine pour une requ<71>te
redirig<69>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<69>, <20> partir de la version 2.0.46,
les caract<63>res non imprimables et autres caract<63>res sp<73>ciaux dans
les directives <code>%r</code>, <code>%i</code> et <code>%o</code>
doivent <20>tre <20>chapp<70>s <20> l'aide des s<>quences
<code>\x<var>hh</var></code>,
o<> <var>hh</var> est le code hexad<61>cimal du caract<63>re sp<73>cial.
Comme exceptions <20> cette r<>gle, les caract<63>res <code>"</code> et
<code>\</code> doivent <20>tre <20>chapp<70>s par un anti-slash, et tous
les "blancs" doivent <20>tre <20>crits selon leur notation de style C
(<code>\n</code>, <code>\t</code>, etc...). Avant la version
2.0.46, aucun <20>chappement n'<27>tait effectu<74> sur ces cha<68>nes, et il
fallait <20>tre tr<74>s prudent lors de l'exploitation des journaux
bruts.</p>
<p>A la diff<66>rence de la version 1.3, depuis httpd 2.0, les cha<68>nes
de format <code>%b</code> et <code>%B</code> ne repr<70>sentent pas
le nombre d'octets envoy<6F>s au client, mais simplement la taille en
octets de la r<>ponse HTTP (les deux <20>tant diff<66>rents, par exemple,
si la connexion est abandonn<6E>e, ou si SSL est utilis<69>). 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<6F>s sur le r<>seau.</p>
<p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est impl<70>ment<6E> en tant que
gestionnaire basique et non en tant que gestionnaire standard.
C'est pourquoi la cha<68>ne de format <code>%R</code> ne renverra pas
d'information <20> propos du gestionnaire lorsqu'une mise en cache de
contenu entre en jeu.</p>
<div class="note">
<p>Note : la pr<70>sence du caract<63>re '^' au d<>but d'une cha<68>ne de
format de trois caract<63>res n'a aucune incidence sur la
signification de cette cha<68>ne, mais il doit <20>tre
le premier caract<63>re de toute cha<68>ne de format de trois caract<63>res
nouvellement cr<63><72>e, afin d'<27>viter d'<27>ventuels conflits avec des
cha<68>nes de format qui utilisent des caract<63>res litt<74>raux adjacents <20> un
sp<73>cificateur de format tel que "%Dus".</p>
</div>
<h3><a name="examples" id="examples">Exemples</a></h3>
<p>Quelques cha<68>nes de format couramment utilis<69>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 <20>tandu/combin<69></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<72>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 <20>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<69>rations concernant la
s<EFBFBD>curit<EFBFBD></a></h2>
<p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils <20> mati<74>re de
s<>curit<69></a> pour plus de d<>tails sur les raisons pour lesquelles
votre s<>curit<69> pourrait <20>tre compromise, si le r<>pertoire o<> sont
stock<63>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<74>es du journal dans un tampon en m<>moire
avant de les <20>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 <20>
"on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> stocke de nombreuses entr<74>es
du journal en m<>moire, et les <20>crit d'un seul bloc sur disque,
plut<75>t que de les <20>crire apr<70>s chaque requ<71>te. Sur certains
syst<73>mes, ceci peut am<61>liorer l'efficacit<69> des acc<63>s disque, et par
cons<6E>quent les performances. La directive ne peut <20>tre d<>finie
qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas <20>tre
d<>finie au niveau d'un serveur virtuel.</p>
<div class="note">Cette directive doit <20>tre utilis<69>e avec
pr<70>cautions car un crash peut provoquer la perte de donn<6E>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>provider</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<74>ler
la journalisation des requ<71>tes destin<69>es au serveur. Un format de
journal est sp<73>cifi<66>, et la journalisation peut s'effectuer de
mani<6E>re conditionnelle en fonction des caract<63>ristiques de la
requ<71>te en utilisant des variables d'environnement.</p>
<p>Le premier argument, qui sp<73>cifie l'emplacement o<> les journaux
seront <20>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<63>re pipe "<code>|</code>", suivi du chemin vers un
programme qui recevra les informations de la journalisation sur
son entr<74>e standard. Voir les notes <20> propos de la <a href="../logs.html#piped">journalisation redirig<69>e</a> pour plus
d'informations.
<div class="warning"><h3>S<>curit<69> :</h3>
<p>Si les journaux sont redirig<69>s vers un programme, ce dernier
s'ex<65>cutera sous l'utilisateur qui a d<>marr<72>
<code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur
a <20>t<EFBFBD> d<>marr<72> par root ; v<>rifiez que le programme est
s<>curis<69>.</p>
</div>
<div class="warning"><h3>Note</h3>
<p>Lors de la sp<73>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 <20>tre utilis<69>s, m<>me si la
plate-forme autorise l'emploi d'anti-slashes. D'une mani<6E>re
g<>n<EFBFBD>rale, c'est une bonne id<69>e que de n'utiliser que des slashes
directs dans les fichiers de configuration.</p>
</div></dd>
<dt><var>provider</var></dt>
<dd>Les messages CustomLog peuvent aussi utiliser comme cible les
modules qui impl<70>mentent des fournisseurs ErrorLog. A cet effet,
utilisez la syntaxe "provider:argument". Comme fournisseur, vous
pouvez par exemple utiliser <code class="module"><a href="../mod/mod_journald.html">mod_journald</a></code> ou
<code class="module"><a href="../mod/mod_syslog.html">mod_syslog</a></code> :
<pre class="prettyprint lang-config"># Journalisation CustomLog vers journald
CustomLog "journald" "%h %l %u %t \"%r\" %&gt;s %b"
# Journalisation CustomLog vers syslog avec l'option "user"
CustomLog "syslog:user" "%h %l %u %t \"%r\" %&gt;s %b"</pre>
</dd>
</dl>
<p>Le second argument permet de d<>finir ce qui va <20>tre <20>crit dans le
fichier journal. Il peut contenir soit un <var>alias</var> pr<70>d<EFBFBD>fini
par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une cha<68>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<69> avec alias de format
LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
CustomLog "logs/access_log" common
# Journal personnalis<69> avec cha<68>ne de format explicite
CustomLog "logs/access_log" "%h %l %u %t \"%r\" %&gt;s %b"</pre>
<p>Le troisi<73>me argument est optionnel et permet de contr<74>ler si une
requ<71>te doit <20>tre ou non journalis<69>e. Dans le cas d'une clause
'<code>env=!<var>nom</var></code>', la condition peut <20>tre la
pr<70>sence ou l'absence d'une variable particuli<6C>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<6F>enne
quelconque. Si la condition n'est pas v<>rifi<66>e, la requ<71>te ne sera
pas journalis<69>e. D'<27>ventuelles r<>f<EFBFBD>rences <20> des en-t<>tes HTTP dans
l'expression rationnelle n'entra<72>neront pas l'ajout des noms
d'en-t<>te correspondants <20> l'en-t<>te Vary.</p>
<p>Les variables d'environnement peuvent <20>tre d<>finies au niveau de
chaque requ<71>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<71>tes pour toutes les
images GIF sur votre serveur dans un fichier journal s<>par<61>, 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>provider</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<69>:</a></th><td>Disponible <20> 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<73>cifier un
journal partag<61> entre le serveur principal et tous les serveurs virtuels
d<>finis.</p>
<p>Elle est identique <20> la directive <code class="directive">CustomLog</code> <20> ces
diff<66>rences pr<70>s : </p>
<ul>
<li>Elle n'est pas valide dans un contexte de serveur virtuel.</li>
<li>A la diff<66>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 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<73>cifier le format du fichier journal
des acc<63>s.</p>
<p>La directive <code class="directive">LogFormat</code> se pr<70>sente sous
deux formes. Sous la premi<6D>re forme, qui ne poss<73>de qu'un seul
argument, la directive d<>finit le format qui sera utilis<69> dans les
journaux sp<73>cifi<66>s par les directives
<code class="directive">TransferLog</code> ult<6C>rieures. L'argument unique
peut contenir un <var>format</var> explicite comme d<>crit dans la
section <a href="#formats">formats de journaux personnalis<69>s</a>
ci-dessus. Il peut aussi contenir un <var>alias</var> faisant
r<>f<EFBFBD>rence <20> un format de journal pr<70>d<EFBFBD>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 <20> 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<6C>rieures, ce qui
<20>vite d'avoir <20> r<>p<EFBFBD>ter l'ensemble de la cha<68>ne de format. Une
directive <code class="directive">LogFormat</code> qui d<>finit un alias
<strong>ne fait rien d'autre</strong> -- c'est <20> 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<6E>quent, elle n'affecte pas
les directives <code class="directive"><a href="#transferlog">TransferLog</a></code> ult<6C>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<63>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<53>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<73>de exactement les m<>mes arguments et produit
les m<>mes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, <20> l'exception qu'elle
ne permet pas de sp<73>cifier un format de journal explicite ou la
journalisation conditionnelle des requ<71>tes. En l'occurrence, le
format de journal est d<>termin<69> par la derni<6E>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 <20>t<EFBFBD>
sp<73>cifi<66>, c'est le Common Log Format qui sera utilis<69>.</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<61>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<72>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/trunk/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 2017 The Apache Software Foundation.<br />Autoris<69> 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/quickreference.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>