]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_log_config.html.fr
Rebuild.
[apache] / docs / manual / mod / mod_log_config.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mod_log_config - Serveur Apache HTTP Version 2.4</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
19 <div id="page-header">
20 <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>
21 <p class="apache">Serveur Apache HTTP Version 2.4</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_log_config</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_log_config.html" title="Français">&nbsp;fr&nbsp;</a> |
31 <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
32 <a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
33 <a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
34 </div>
35 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des requêtes envoyées au
36 serveur</td></tr>
37 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
38 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_config_module</td></tr>
39 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_config.c</td></tr></table>
40 <h3>Sommaire</h3>
41
42     <p>Ce module apporte une grande souplesse dans la journalisation des
43     requêtes des clients. Les journaux sont écrits sous un format
44     personnalisable, et peuvent être enregistrés directement dans un
45     fichier, ou redirigés vers un programme externe. La journalisation
46     conditionnelle est supportée, si bien que des requêtes individuelles
47     peuvent être incluses ou exclues des journaux en fonction de leur
48     caractéristiques.</p>
49
50     <p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> crée un fichier
51     journal, <code class="directive"><a href="#logformat">LogFormat</a></code>
52     définit un format personnalisé, et <code class="directive"><a href="#customlog">CustomLog</a></code> définit un fichier journal et un format en
53     une seule étape. Pour journaliser les requêtes dans plusieurs
54     fichiers, vous pouvez utiliser plusieurs fois les directives
55     <code class="directive">TransferLog</code> et
56     <code class="directive">CustomLog</code> dans chaque serveur.</p>
57 </div>
58 <div id="quickview"><h3>Sujets</h3>
59 <ul id="topics">
60 <li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations concernant la
62 sécurité</a></li>
63 </ul><h3 class="directives">Directives</h3>
64 <ul id="toc">
65 <li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#customlog">CustomLog</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#globallog">GlobalLog</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li>
70 </ul>
71 <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>
72 <ul class="seealso">
73 <li><a href="../logs.html">Les fichiers journaux
74 d'Apache</a></li>
75 <li><a href="#comments_section">Commentaires</a></li></ul></div>
76 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
77 <div class="section">
78 <h2><a name="formats" id="formats">Formats de journaux personnalisés</a></h2>
79
80     <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
81     caractères. Cette chaîne définit le format de la journalisation des
82     requêtes dans le fichier journal. Elle peut contenir des caractères
83     littéraux qui seront reproduits dans le fichier journal, et les
84     caractères de contrôle de style C "\n" et "\t" représentant
85     respectivement une nouvelle ligne et une tabulation. Les guillemets
86     et les anti-slashes littéraux doivent être échappés à l'aide
87     d'anti-slashes.</p>
88
89     <p>Les caractéristiques de la requête en elle-même sont journalisées
90     en insérant des directives "<code>%</code>" dans la chaîne de
91     format, celles-ci étant remplacées dans le fichier journal par
92     certaines valeurs comme suit :</p>
93
94     <table class="bordered"><tr class="header"><th>Chaîne&nbsp;de&nbsp;format</th>
95         <th>Description</th></tr>
96 <tr><td><code>%%</code></td>
97         <td>Le signe "pourcentage"</td></tr>
98 <tr class="odd"><td><code>%a</code></td>
99         <td>L'adresse IP distante (voir le module
100         <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</td></tr>
101 <tr><td><code>%{c}a</code></td>
102         <td>Adresse IP distante de la connexion(voir le module
103         <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr>
104 <tr class="odd"><td><code>%A</code></td>
105         <td>L'adresse IP locale</td></tr>
106 <tr><td><code>%B</code></td>
107         <td>La taille de la réponse en octets, en excluant les en-têtes
108         HTTP.</td></tr>
109 <tr class="odd"><td><code>%b</code></td>
110         <td>La taille de la réponse en octets, en excluant les en-têtes
111         HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la
112         place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr>
113 <tr><td><code>%{<var>NOMVAR</var>}C</code></td>
114         <td>Le contenu du cookie <var>NOMVAR</var> dans la requête
115         envoyée au serveur. Seuls les cookies version 0 sont pleinement
116         supportés.</td></tr>
117 <tr class="odd"><td><code>%D</code></td>
118         <td>Le temps mis à servir la requête, en
119         microsecondes.</td></tr>
120 <tr><td><code>%{<var>NOMVAR</var>}e</code></td>
121         <td>Le contenu de la variable d'environnement
122         <var>NOMVAR</var></td></tr>
123 <tr class="odd"><td><code>%f</code></td>
124         <td>Nom de fichier</td></tr>
125 <tr><td><code>%h</code></td>
126         <td>Serveur distant. Contiendra l'adresse IP si la directive
127         <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie
128         à <code>Off</code>, ce qui est sa valeur par défaut. Si cette
129         adresse IP n'est enregistrée que pour certains serveurs, vous
130         avez probablement défini des directives de contrôle d'accès qui
131         mentionnent ces derniers par leurs noms. Voir la <a href="mod_authz_host.html#reqhost">documentation de Require
132         host</a>.</td></tr>
133 <tr class="odd"><td><code>%H</code></td>
134         <td>Le protocole de la requête</td></tr>
135 <tr><td><code>%{<var>NOMVAR</var>}i</code></td>
136         <td>Le contenu des lignes d'en-tête
137         <code><var>NOMVAR</var>:</code> dans la requête envoyée au
138         serveur. Ces en-têtes sont ajoutés par d'autres modules (par
139         exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). Si vous êtes intéressé
140         par ce qu'était l'en-tête de la requête avant d'être modifié
141         par la plupart des modules, utilisez
142         <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> pour copier l'en-tête dans une
143         variable d'environnement interne et journaliser sa valeur via
144         le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut.
145
146         </td></tr>
147 <tr class="odd"><td><code>%k</code></td>
148         <td>Nombre de requêtes persistantes en cours pour cette
149         connexion. Interessant si la directive <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> est utilisée ; par exemple,
150         '1' signifie la première requête après la requête initiale, '2'
151         la seconde, etc... ; autrement, il s'agit toujours de 0
152         (indiquant la requête initiale).</td></tr>
153 <tr><td><code>%l</code></td>
154         <td>Le nom de connexion distant (en provenance d'identd, si
155         disponible). Affiche un tiret, sauf si
156         <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 à
157         <code>On</code>.</td></tr>
158 <tr class="odd"><td><code>%L</code></td>
159         <td>L'identifiant du message de journalisation de la requête
160         dans le journal des erreurs (ou '-' si aucun message n'a
161         été enregistré dans le journal des erreurs pour cette requête)</td></tr>
162 <tr><td><code>%m</code></td>
163         <td>La méthode de la requête</td></tr>
164 <tr class="odd"><td><code>%{<var>NOMVAR</var>}n</code></td>
165         <td>Le contenu de la note <var>NOMVAR</var> en provenance d'un
166         autre module.</td></tr>
167 <tr><td><code>%{<var>NOMVAR</var>}o</code></td>
168         <td>Le contenu de la ligne d'en-tête
169         <code><var>NOMVAR</var>:</code> de la réponse.</td></tr>
170 <tr class="odd"><td><code>%p</code></td>
171         <td>Le port canonique du serveur servant la requête</td></tr>
172 <tr><td><code>%{<var>format</var>}p</code></td>
173         <td>Le port canonique du serveur servant la requête ou le
174         véritable port du serveur ou le véritable port du client. les
175         formats valides sont <code>canonical</code>, <code>local</code>,
176         ou <code>remote</code>.
177         </td></tr>
178 <tr class="odd"><td><code>%P</code></td>
179         <td>Le numéro de processus du processus enfant qui a servi la
180         requête.</td></tr>
181 <tr><td><code>%{<var>format</var>}P</code></td>
182         <td>Le numéro de processus ou le numéro de thread du processus
183         enfant qui a servi la requête. Les formats valides sont
184         <code>pid</code>, <code>tid</code>, et <code>hextid</code>.
185         <code>hextid</code> nécessite APR version 1.2.0 ou supérieure.
186         </td></tr>
187 <tr class="odd"><td><code>%q</code></td>
188         <td>La chaîne d'arguments (préfixée par un <code>?</code> si une
189         chaîne d'arguments existe, sinon une chaîne vide)</td></tr>
190 <tr><td><code>%r</code></td>
191         <td>La première ligne de la requête</td></tr>
192 <tr class="odd"><td><code>%R</code></td>
193         <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr>
194 <tr><td><code>%s</code></td>
195         <td>Statut. Pour les requêtes redirigées en interne, il s'agit
196         du statut de la requête *originale* --- <code>%&gt;s</code> pour
197         la dernière.</td></tr>
198 <tr class="odd"><td><code>%t</code></td>
199         <td>Date à laquelle la requête a été reçue (au format anglais
200         standard)</td></tr>
201 <tr><td><code>%{<var>format</var>}t</code></td>
202         <td>La date, sous la forme spécifiée par format, qui devrait
203         être au format étendu <code>strftime(3)</code> (éventuellement
204         localisé). Si le format commence par <code>begin:</code> (valeur
205         par défaut), la date est extraite au début du traitement de la
206         requête ; s'il commence par <code>end:</code>, la date
207         correspond au moment où l'entrée du journal est inscrite, par
208         conséquent vers la fin du traitement de la requête. Hormis les
209         formats supportés par <code>strftime(3)</code>, les formats
210         suivants sont aussi disponibles :
211         <table>
212         <tr><td><code>sec</code></td><td>nombre de secondes depuis Epoch</td></tr>
213         <tr><td><code>msec</code></td><td>nombre de millisecondes depuis  Epoch</td></tr>
214         <tr><td><code>usec</code></td><td>nombre de microsecondes depuis Epoch</td></tr>
215         <tr><td><code>msec_frac</code></td><td>fraction de milliseconde</td></tr>
216         <tr><td><code>usec_frac</code></td><td>fraction de microseconde</td></tr>
217         </table>
218         Ces symboles ne peuvent pas être combinés entre eux ou avec un
219         formatage <code>strftime(3)</code> dans la même chaîne de
220         format. Par contre, vous pouvez utiliser plusieurs symboles
221         <code>%{<var>format</var>}t</code>.</td></tr>
222 <tr class="odd"><td><code>%T</code></td>
223         <td>Le temps mis pour servir la requête, en secondes.</td></tr>
224 <tr><td><code>%{<var>UNIT</var>}T</code></td>
225         <td>Le temps mis pour traiter la requête dans une unité définie
226         par <code>UNIT</code>. Les valeurs d'unité valides sont
227         <code>ms</code> pour millisecondes, <code>us</code> pour
228         microsecondes et <code>s</code> pour secondes. Si
229         <code>UNIT</code> est omis, la valeur de l'unité par défaut est
230         la seconde ; spécifier la valeur d'unité <code>us</code> revient
231         à utiliser le format <code>%D</code>. La possibilité de
232         spécifier une valeur d'unité avec le format <code>%T</code> est
233         disponible depuis la version 2.4.13 du serveur HTTP Apache.</td></tr>
234 <tr class="odd"><td><code>%u</code></td>
235         <td>L'utilisateur distant (en provenance d'auth ; peut être faux
236         si le statut de retour (<code>%s</code>) est 401).</td></tr>
237 <tr><td><code>%U</code></td>
238         <td>Le chemin de la requête, à l'exclusion de toute chaîne
239         d'arguments.</td></tr>
240 <tr class="odd"><td><code>%v</code></td>
241         <td>Le nom canonique du serveur qui a servi la requête, défini
242         par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</td></tr>
243 <tr><td><code>%V</code></td>
244         <td>La nom du serveur en tenant compte de la définition de la
245         directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
246 <tr class="odd"><td><code>%X</code></td>
247         <td>Statut de la connexion lorsque la réponse a été renvoyée
248         :
249
250         <table>
251         
252         <tr><td><code>X</code> =</td>
253             <td>connexion abandonnée avant l'envoi de la réponse.</td></tr>
254         <tr><td><code>+</code> =</td>
255             <td>la connexion peut rester ouverte après l'envoi de la
256             réponse.</td></tr>
257         <tr><td><code>-</code> = </td>
258             <td>la connexion sera fermée après l'envoi de la
259             réponse.</td></tr>
260         </table>
261
262         </td></tr>
263 <tr><td><code>%I</code></td>
264         <td>Le nombre d'octets reçus, en comptant la requête et les
265         en-têtes, ne peut être nul. Nécessite l'activation de
266         <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr>
267 <tr class="odd"><td><code>%O</code></td>
268         <td>Nombre d'octets envoyés, y compris les en-têtes. Peut être
269         nul dans les rares cas où une requête est avortée avant que la
270         réponse ne soit envoyée. Nécessite l'activation de
271         <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr>
272 <tr><td><code>%S</code></td>
273         <td>Nombre d'octets transmis (en émission et réception), y
274         compris corps et en-têtes de requête. Ce nombre ne peut pas être
275         nul, et il correspond à la combinaison des formats %I et %O.
276         <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> doit être chargé pour pouvoir
277         utiliser ce format.</td></tr>
278 <tr class="odd"><td><code>%{<var>VARNAME</var>}^ti</code></td>
279         <td>Le contenu de <code><var>VARNAME</var>:</code> dans les
280         paramètres de la requête envoyée au serveur.</td></tr>
281 <tr><td><code>%{<var>VARNAME</var>}^to</code></td>
282         <td>Le contenu de <code><var>VARNAME</var>:</code> dans les
283         paramètres de la réponse envoyée par le serveur.</td></tr>
284 </table>
285
286     <h3><a name="modifiers" id="modifiers">Modificateurs</a></h3>
287
288       <p>Il est possible de restreindre l'enregistrement de certains
289       éléments
290       en fonction du code de statut de la réponse, en insérant une liste
291       de codes de statut séparés par des virgules immédiatement après le
292       caractère "%". Par exemple, <code>"%400,501{User-agent}i"</code>
293       n'enregistrera l'en-tête <code>User-agent</code> que dans le cas
294       d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la
295       chaîne littérale <code>"-"</code> qui sera enregistrée. La liste
296       de codes peut être précédée d'un "<code>!</code>" pour inverser la
297       condition : <code>"%!200,304,302{Referer}i"</code> enregistre
298       l'en-tête <code>Referer</code> pour toutes les requêtes qui
299       <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p>
300
301       <p>Les modificateurs "&lt;" et "&gt;" peuvent être utilisés pour
302       les requêtes qui ont été redirigées en interne afin de choisir si
303       c'est respectivement la requête originale ou finale qui doit être
304       consultée. Par défaut, les directives <code>%s, %U, %T, %D,</code>
305       et <code>%r</code> consultent la requête originale, alors que
306       toutes les autres consultent la requête finale. Ainsi, par
307       exemple, on peut utiliser <code>%&gt;s</code> pour enregistrer le
308       statut final de la requête, et <code>%&lt;u</code> pour
309       enregistrer l'utilisateur authentifié à l'origine pour une requête
310       redirigée en interne vers une ressource sans authentification.</p>
311
312     
313
314     <h3><a name="format-notes" id="format-notes">Quelques Notes</a></h3>
315
316       <p>Pour des raisons de sécurité, à partir de la version 2.0.46,
317       les caractères non imprimables et autres caractères spéciaux dans
318       les directives <code>%r</code>, <code>%i</code> et <code>%o</code>
319       doivent être échappés à l'aide des séquences
320       <code>\x<var>hh</var></code>,
321       où <var>hh</var> est le code hexadécimal du caractère spécial.
322       Comme exceptions à cette règle, les caractères <code>"</code> et
323       <code>\</code> doivent être échappés par un anti-slash, et tous
324       les "blancs" doivent être écrits selon leur notation de style C
325       (<code>\n</code>, <code>\t</code>, etc...). Avant la version
326       2.0.46, aucun échappement n'était effectué sur ces chaînes, et il
327       fallait être très prudent lors de l'exploitation des journaux
328       bruts.</p>
329
330       <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes
331       de format <code>%b</code> et <code>%B</code> ne représentent pas
332       le nombre d'octets envoyés au client, mais simplement la taille en
333       octets de la réponse HTTP (les deux étant différents, par exemple,
334       si la connexion est abandonnée, ou si SSL est utilisé). Le format
335       <code>%O</code> fourni par <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>,
336       enregistrera le nombre réel d'octets envoyés sur le réseau.</p>
337
338       <p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est implémenté en tant que
339       gestionnaire basique et non en tant que gestionnaire standard.
340       C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas
341       d'information à propos du gestionnaire lorsqu'une mise en cache de
342       contenu entre en jeu.</p>
343
344     
345
346     <h3><a name="examples" id="examples">Exemples</a></h3>
347
348       <p>Quelques chaînes de format couramment utilisées :</p>
349
350       <dl>
351         <dt>Format de journal courant (CLF)</dt>
352         <dd><code>"%h %l %u %t \"%r\" %&gt;s %b"</code></dd>
353
354         <dt>Format de journal courant avec un serveur virtuel</dt>
355         <dd><code>"%v %h %l %u %t \"%r\" %&gt;s %b"</code></dd>
356
357         <dt>Format de journal NCSA étandu/combiné</dt>
358         <dd><code>"%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\"
359         \"%{User-agent}i\""</code></dd>
360
361         <dt>Format de journal de la page qui contient le lien vers la
362         page concernée (Referer)</dt>
363         <dd><code>"%{Referer}i -&gt; %U"</code></dd>
364
365         <dt>Format de journal de l'agent (Navigateur)</dt>
366         <dd><code>"%{User-agent}i"</code></dd>
367       </dl>
368
369       <p>Vous pouvez utiliser plusieurs fois la directive
370       <code>%{format}t</code> pour construire un format de temps
371       utilisant les symboles de format étendus tels que
372       <code>msec_frac</code> :</p>
373       <dl>
374 <dt>Format de temps prenant en compte les milisecondes</dt>
375 <dd><code>"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"</code></dd>
376
377       </dl>
378
379     
380 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
381 <div class="section">
382 <h2><a name="security" id="security">Considérations concernant la
383 sécurité</a></h2>
384     <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils à matière de
385     sécurité</a> pour plus de détails sur les raisons pour lesquelles
386     votre sécurité pourrait être compromise, si le répertoire où sont
387     stockés les fichiers journaux sont inscriptibles par tout autre
388     utilisateur que celui qui démarre le serveur.</p>
389 </div>
390 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
391 <div class="directive-section"><h2><a name="bufferedlogs" id="bufferedlogs">Directive</a> <a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a></h2>
392 <table class="directive">
393 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les entrées du journal dans un tampon en mémoire
394 avant de les écrire sur disque</td></tr>
395 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferedLogs On|Off</code></td></tr>
396 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferedLogs Off</code></td></tr>
397 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
398 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
399 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
400 </table>
401     <p>Lorsque la directive <code class="directive">BufferedLogs</code> est à
402     "on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> stocke de nombreuses entrées
403     du journal en mémoire, et les écrit d'un seul bloc sur disque,
404     plutôt que de les écrire après chaque requête. Sur certains
405     systèmes, ceci peut améliorer l'efficacité des accès disque, et par
406     conséquent les performances. La directive ne peut être définie
407     qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être
408     définie au niveau d'un serveur virtuel.</p>
409
410     <div class="note">Cette directive doit être utilisée avec
411     précautions car un crash peut provoquer la perte de données de
412     journalisation.</div>
413
414 </div>
415 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
416 <div class="directive-section"><h2><a name="customlog" id="customlog">Directive</a> <a name="CustomLog" id="CustomLog">CustomLog</a></h2>
417 <table class="directive">
418 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier
419 journal</td></tr>
420 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CustomLog  <var>fichier</var>|<var>pipe</var>
421 <var>format</var>|<var>alias</var>
422 [env=[!]<var>variable-environnement</var>|
423 expr=<var>expression</var>]</code></td></tr>
424 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
425 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
426 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
427 </table>
428     <p>La directive <code class="directive">CustomLog</code> permet de contrôler
429     la journalisation des requêtes destinées au serveur. Un format de
430     journal est spécifié, et la journalisation peut s'effectuer de
431     manière conditionnelle en fonction des caractéristiques de la
432     requête en utilisant des variables d'environnement.</p>
433
434     <p>Le premier argument, qui spécifie l'emplacement où les journaux
435     seront écrits, accepte deux types de valeurs :</p>
436
437     <dl>
438       <dt><var>fichier</var></dt>
439       <dd>Un nom de fichier, relatif au répertoire défini par la
440       directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd>
441
442       <dt><var>pipe</var></dt>
443       <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un
444       programme qui recevra les informations de la journalisation sur
445       son entrée standard. Voir les notes à propos de la <a href="../logs.html#piped">journalisation redirigée</a> pour plus
446       d'informations.
447
448       <div class="warning"><h3>Sécurité :</h3>
449       <p>Si les journaux sont redirigés vers un programme, ce dernier
450       s'exécutera sous l'utilisateur qui a démarré
451       <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur
452       a été démarré par root ; vérifiez que le programme est
453       sécurisé.</p>
454       </div>
455       <div class="warning"><h3>Note</h3>
456         <p>Lors de la spécification d'un chemin de fichier sur les
457         plate-formes non-Unix, il faut prendre soin de ne pas oublier
458         que seuls les slashes directs doivent être utilisés, même si la
459         plate-forme autorise l'emploi d'anti-slashes. D'une manière
460         générale, c'est une bonne idée que de n'utiliser que des slashes
461         directs dans les fichiers de configuration.</p>
462       </div></dd>
463     </dl>
464
465     <p>Le second argument permet de définir ce qui va être écrit dans le
466     fichier journal. Il peut contenir soit un <var>alias</var> prédéfini
467     par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une chaîne de
468     <var>format</var> explicite comme décrit dans la section <a href="#formats">formats de journaux</a>.</p>
469
470     <p>Par exemple, les deux blocs de directives suivants produisent le
471     même effet :</p>
472
473     <pre class="prettyprint lang-config"># Journal personnalisé avec alias de format
474 LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
475 CustomLog "logs/access_log" common
476
477 # Journal personnalisé avec chaîne de format explicite
478 CustomLog "logs/access_log" "%h %l %u %t \"%r\" %&gt;s %b"</pre>
479
480
481     <p>Le troisième argument est optionnel et permet de contrôler si une
482     requête doit être ou non journalisée. Dans le cas d'une clause
483     '<code>env=!<var>nom</var></code>', la condition peut être la
484     présence ou l'absence d'une variable particulière dans
485     l'<a href="../env.html">environnement du serveur</a>. Dans le cas
486     d'une clause 'expr=<var>expression</var>', la condition consiste
487     en une <a href="../expr.html">expression</a> booléenne
488     quelconque. Si la condition n'est pas vérifiée, la requête ne sera
489     pas journalisée. D'éventuelles références à des en-têtes HTTP dans
490     l'expression rationnelle n'entraîneront pas l'ajout des noms
491     d'en-tête correspondants à l'en-tête Vary.</p>
492
493     <p>Les variables d'environnement peuvent être définies au niveau de
494     chaque requête en utilisant les modules
495     <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>.
496     Par exemple, si vous voulez enregistrer les requêtes pour toutes les
497     images GIF sur votre serveur dans un fichier journal séparé, et pas
498     dans votre journal principal, vous pouvez utiliser :</p>
499
500     <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image
501 CustomLog "gif-requests.log" common env=gif-image
502 CustomLog "nongif-requests.log" common env=!gif-image</pre>
503
504
505     <p>Ou, pour reproduire le comportement de l'ancienne directive
506     RefererIgnore, vous pouvez utiliser :</p>
507
508     <pre class="prettyprint lang-config">SetEnvIf Referer example\.com localreferer
509 CustomLog "referer.log" referer env=!localreferer</pre>
510
511
512 </div>
513 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
514 <div class="directive-section"><h2><a name="globallog" id="globallog">Directive</a> <a name="GlobalLog" id="GlobalLog">GlobalLog</a></h2>
515 <table class="directive">
516 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier journal</td></tr>
517 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GlobalLog  <var>file</var>|<var>pipe</var>|<var>provider</var>
518 <var>format</var>|<var>nickname</var>
519 [env=[!]<var>environment-variable</var>|
520 expr=<var>expression</var>]</code></td></tr>
521 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
522 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
523 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
524 <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>
525 </table>
526
527     <p>La directive <code class="directive">GlobalLog</code> permet de spécifier un
528     journal partagé entre le serveur principal et tous les serveurs virtuels
529     définis.</p>
530
531     <p>Elle est identique à la directive <code class="directive">CustomLog</code> à ces
532     différences près : </p>
533     <ul>
534        <li>Elle n'est pas valide dans un contexte de serveur virtuel.</li>
535        <li>A la différence d'une directive <code class="directive">CustomLog</code>
536        définie globalement, elle est prise en compte par les serveurs virtuels
537        qui définissent leur propre directive <code class="directive">CustomLog</code>.</li>
538     </ul>
539
540 </div>
541 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
542 <div class="directive-section"><h2><a name="logformat" id="logformat">Directive</a> <a name="LogFormat" id="LogFormat">LogFormat</a></h2>
543 <table class="directive">
544 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Décrit un format utilisable dans un fichier
545 journal</td></tr>
546 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogFormat <var>format</var>|<var>alias</var>
547 [<var>alias</var>]</code></td></tr>
548 <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>
549 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
550 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
551 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
552 </table>
553     <p>Cette directive permet de spécifier le format du fichier journal
554     des accès.</p>
555
556     <p>La directive <code class="directive">LogFormat</code> se présente sous
557     deux formes. Sous la première forme, qui ne possède qu'un seul
558     argument, la directive définit le format qui sera utilisé dans les
559     journaux spécifiés par les directives
560     <code class="directive">TransferLog</code> ultérieures. L'argument unique
561     peut contenir un <var>format</var> explicite comme décrit dans la
562     section <a href="#formats">formats de journaux personnalisés</a>
563     ci-dessus. Il peut aussi contenir un <var>alias</var> faisant
564     référence à un format de journal prédéfini par une directive
565     <code class="directive">LogFormat</code> comme décrit plus loin.</p>
566
567     <p>Sous sa seconde forme, la directive
568     <code class="directive">LogFormat</code> associe un <var>format</var>
569     explicite à un <var>alias</var>. Cet <var>alias</var> peut
570     ensuite s'utiliser dans les directives
571     <code class="directive">LogFormat</code> ou <code class="directive"><a href="#customlog">CustomLog</a></code> ultérieures, ce qui
572     évite d'avoir à répéter l'ensemble de la chaîne de format. Une
573     directive <code class="directive">LogFormat</code> qui définit un alias
574     <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne
575     fait que</em> définir l'alias, elle n'applique pas le format et n'en
576     fait pas le format par défaut. Par conséquent, elle n'affecte pas
577     les directives <code class="directive"><a href="#transferlog">TransferLog</a></code> ultérieures. En
578     outre, la directive <code class="directive">LogFormat</code> ne peut pas
579     utiliser un alias pour en définir un autre. Notez que l'alias ne
580     doit pas contenir de caractère pourcent (<code>%</code>).</p>
581
582     <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>
583 </div>
584
585
586 </div>
587 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
588 <div class="directive-section"><h2><a name="transferlog" id="transferlog">Directive</a> <a name="TransferLog" id="TransferLog">TransferLog</a></h2>
589 <table class="directive">
590 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'emplacement d'un fichier journal</td></tr>
591 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TransferLog <var>fichier</var>|<var>pipe</var></code></td></tr>
592 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
593 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
594 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
595 </table>
596     <p>Cette directive possède exactement les mêmes arguments et produit
597     les mêmes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, à l'exception qu'elle
598     ne permet pas de spécifier un format de journal explicite ou la
599     journalisation conditionnelle des requêtes. En l'occurrence, le
600     format de journal est déterminé par la dernière définition d'une
601     directive <code class="directive"><a href="#logformat">LogFormat</a></code>
602     qui ne définit pas d'alias. Si aucun format particulier n'a été
603     spécifié, c'est le Common Log Format qui sera utilisé.</p>
604
605     <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\""
606 TransferLog logs/access_log</pre>
607 </div>
608
609 </div>
610 </div>
611 <div class="bottomlang">
612 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
613 <a href="../fr/mod/mod_log_config.html" title="Français">&nbsp;fr&nbsp;</a> |
614 <a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
615 <a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
616 <a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
617 </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>
618 <script type="text/javascript"><!--//--><![CDATA[//><!--
619 var comments_shortname = 'httpd';
620 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html';
621 (function(w, d) {
622     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
623         d.write('<div id="comments_thread"><\/div>');
624         var s = d.createElement('script');
625         s.type = 'text/javascript';
626         s.async = true;
627         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
628         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
629     }
630     else { 
631         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
632     }
633 })(window, document);
634 //--><!]]></script></div><div id="footer">
635 <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>
636 <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[//><!--
637 if (typeof(prettyPrint) !== 'undefined') {
638     prettyPrint();
639 }
640 //--><!]]></script>
641 </body></html>