1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
|
<?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="ja" xml:lang="ja"><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 - Apache HTTP サーバ バージョン 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/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
<p class="apache">Apache HTTP サーバ バージョン 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache モジュール mod_log_config</h1>
<div class="toplang">
<p><span>翻訳済み言語: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/mod_log_config.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<div class="outofdate">この日本語訳はすでに古くなっている
可能性があります。
最近更新された内容を見るには英語版をご覧下さい。
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>サーバへのリクエストのロギング</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>log_config_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_log_config.c</td></tr></table>
<h3>概要</h3>
<p>
このモジュールはクライアントのリクエストを柔軟にログ収集する機能を
提供します。ログはカスタマイズ可能な書式で書かれ、ファイルに直接
書いたり、外部プログラムに渡したりすることができます。個々のリクエストを
特徴に応じてログに書いたり書かなかったりできるように、条件による
ログ収集も提供されています。</p>
<p>このモジュールは三つのディレクティブ提供します:
ログファイルを作成するための <code class="directive"><a href="#transferlog">TransferLog</a></code>,
新しい書式を 定義する <code class="directive"><a href="#logformat">LogFormat</a></code>,
ログファイルと 書式を一度に定義する <code class="directive"><a href="#customlog">CustomLog</a></code> です。
各リクエストが複数回ログ収集されるようにするために
<code class="directive">TransferLog</code> ディレクティブと
<code class="directive">CustomLog</code>
ディレクティブは複数回使用することができます。</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>トピック</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#formats">カスタムログ書式</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">セキュリティに関して</a></li>
</ul><h3 class="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>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Report a bug</a></li></ul><h3>参照</h3>
<ul class="seealso">
<li><a href="../logs.html">Apache ログファイル</a></li>
<li><a href="#comments_section">コメント</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">カスタムログ書式</a></h2>
<p><code class="directive"><a href="#logformat">LogFormat</a></code> ディレクティブと
<code class="directive"><a href="#customlog">CustomLog</a></code>
ディレクティブの書式を指定する引数は文字列です。この文字列を使ってそれぞれの
リクエストがログファイルにログ収集されます。その文字列には
ログファイルにそのまま
書かれる文字列や、それぞれ改行とタブを表す C 言語
形式の制御文字 "\n" と "\t"
とを含めることができます。そのまま出力させたい引用符とバックスラッシュは
バックスラッシュでエスケープする必要があります。</p>
<p>リクエストの特徴そのものは "<code>%</code>"
ディレクティブを書式の文字列に書くことで
ログ収集されます。"%"
ディレクティブはログファイル中では以下のような
値で置換されます:</p>
<table class="bordered"><tr class="header"><th>フォーマット文字列</th>
<th>説明</th></tr>
<tr><td><code>%%</code></td>
<td>パーセント記号</td></tr>
<tr class="odd"><td><code>%a</code></td>
<td>リモート IP アドレス</td></tr>
<tr><td><code>%A</code></td>
<td>ローカル IP アドレス</td></tr>
<tr class="odd"><td><code>%B</code></td>
<td>レスポンスのバイト数。HTTP ヘッダは除く。</td></tr>
<tr><td><code>%b</code></td>
<td>レスポンスのバイト数。HTTP ヘッダは除く。CLF 書式。
<em>すなわち</em>、1 バイトも送られなかったときは 0 ではなく、
'<code>-</code>' になる</td></tr>
<tr class="odd"><td><code>%{<var>Foobar</var>}C</code></td>
<td>サーバに送られたリクエスト中のクッキー <var>Foobar</var> の値</td></tr>
<tr><td><code>%D</code></td>
<td>リクエストを処理するのにかかった時間、マイクロ秒単位</td></tr>
<tr class="odd"><td><code>%{<var>FOOBAR</var>}e</code></td>
<td>環境変数 <var>FOOBAR</var> の内容</td></tr>
<tr><td><code>%f</code></td>
<td>ファイル名</td></tr>
<tr class="odd"><td><code>%h</code></td>
<td>リモートホスト</td></tr>
<tr><td><code>%H</code></td>
<td>リクエストプロトコル</td></tr>
<tr class="odd"><td><code>%{<var>Foobar</var>}i</code></td>
<td>サーバに送られたリクエストの <code><var>Foobar</var>:</code>
ヘッダの内容</td></tr>
<tr><td><code>%l</code></td>
<td>(identd からもし提供されていれば) リモートログ名。
これは <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> がサーバに存在して、
<code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code>
ディレクティブが <code>On</code> に設定されていない限り、
<code>-</code> になります。</td></tr>
<tr class="odd"><td><code>%m</code></td>
<td>リクエストメソッド</td></tr>
<tr><td><code>%{<var>Foobar</var>}n</code></td>
<td>他のモジュールからのメモ <var>Foobar</var> の内容</td></tr>
<tr class="odd"><td><code>%{<var>Foobar</var>}o</code></td>
<td>応答の <code><var>Foobar</var>:</code> ヘッダの内容</td></tr>
<tr><td><code>%p</code></td>
<td>リクエストを扱っているサーバの正式なポート</td></tr>
<tr class="odd"><td><code>%{<var>format</var>}p</code></td>
<td>サーバがリクエストを処理しているポートの公式
<span class="transnote">(<em>訳注:</em> canonical)</span> のポート番号か、
サーバの実際のポート番号か、クライアント側の実際のポート番号かです。
format に使える文字列は <code>canonical</code>, <code>local</code>,
<code>remote</code> になります。
</td></tr>
<tr><td><code>%P</code></td>
<td>リクエストを扱った子プロセスのプロセス ID</td></tr>
<tr class="odd"><td><code>%{<var>format</var>}P</code></td>
<td>リクエストを扱ったワーカーのプロセス ID かスレッド ID。
<var>format</var> として有効な値は <code>pid</code>, <code>tid</code>,
<code>hextid</code> です。<code>hextid</code> を使うには
APR 1.2.0 以降が必要です。
</td></tr>
<tr><td><code>%q</code></td>
<td>問い合せ文字列 (存在する場合は前に <code>?</code> が追加される。
そうでない場合は空文字列)</td></tr>
<tr class="odd"><td><code>%r</code></td>
<td>リクエストの最初の行</td></tr>
<tr><td><code>%s</code></td>
<td>ステータス。内部でリダイレクトされたリクエストは、元々の
リクエストのステータス --- 最後のステータスは <code>%>s</code>
</td></tr>
<tr class="odd"><td><code>%t</code></td>
<td>リクエストを受付けた時刻。
CLF の時刻の書式 (標準の英語の書式)</td></tr>
<tr><td><code>%{<var>format</var>}t</code></td>
<td><var>format</var> で与えられた書式による時刻。format は
<code>strftime (3)</code> の
書式である必要がある。(地域化されている可能性がある)</td></tr>
<tr class="odd"><td><code>%T</code></td>
<td>リクエストを扱うのにかかった時間、秒単位</td></tr>
<tr><td><code>%u</code></td>
<td>リモートユーザ (認証によるもの。ステータス (<code>%s</code>) が
401 のときは意味がないものである可能性がある)
</td></tr>
<tr class="odd"><td><code>%U</code></td>
<td>リクエストされた URL パス。クエリ文字列は含まない</td></tr>
<tr><td><code>%v</code></td>
<td>リクエストを扱っているサーバの正式な <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></td></tr>
<tr class="odd"><td><code>%V</code></td>
<td><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> の設定によるサーバ名</td></tr>
<tr><td><code>%X</code></td>
<td>応答が完了したときの接続ステータス:
<table>
<tr><td><code>X</code> =</td>
<td>応答が完了する前に接続が異常終了</td></tr>
<tr><td><code>+</code> =</td>
<td>応答が送られた後に接続を持続することが可能</td></tr>
<tr><td><code>-</code> = </td>
<td>応答が送られた後に接続が切られる</td></tr>
</table>
<p>(このディレクティブは Apache
1.3 の後期のバージョンでは <code>%c</code> に割り当てられて
いましたが、これは歴史的に ssl が使用している
<code>%{<var>var</var>}c</code>
構文と衝突していました。)</p></td></tr>
<tr class="odd"><td><code>%I</code></td>
<td>リクエストとヘッダを含む、受け取ったバイト数。
0 にはならない。
これを使用するためには <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> が必要</td></tr>
<tr><td><code>%O</code></td>
<td>ヘッダを含む、送信したバイト数。0 にはならない。
これを使用するためには <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> が必要</td></tr>
</table>
<h3><a name="modifiers" id="modifiers">修飾子</a></h3>
<p>特定の要素は "%" の直後に HTTP ステータスコードをカンマ区切りで
指定することで、表示を制限することができます。例えば
<code>"%400,501{User-agent}i"</code> では、
400 と 500 番エラーでのみ <code>User-agent</code> をログします。
他のステータスコードでは <code>"-"</code> という文字列が
ログされます。ステータスコードのリストは "<code>!</code>"
で否定を指定することができます :
<code>"%!200,304,302{Referer}i"</code> は、指定された
3 つのコードの<em>どれにも該当しない</em>リクエスト全てで
<code>Referer</code> をログします。</p>
<p>修飾子 "<" と ">" は内部リダイレクトされたリクエストのログに
元のリクエストか最終的なリクエストのどちらを使用するかを
指定するために使います。デフォルトでは、<code>%</code> ディレクティブの
<code>%s, %U, %T, %D, %r</code> は元のリクエストを、他は最終的なリクエストを
使用します。例えば、リクエストの最終ステータスを記録するには
<code>%>s</code> を、内部的に認証されていないリソースへリダイレクトされた
リクエストで元のリクエストで認証されたユーザを記録するためには
<code>%<u</code> を使うことができます。</p>
<h3><a name="format-notes" id="format-notes">その他注意点</a></h3>
<p>セキュリティ上の理由により 2.0.46 より、
<code>%r</code>, <code>%i</code>, <code>%o</code> に入っている、
印字不可能な文字と他の特別な文字は、<code>\x<var>hh</var></code>
という形式の文字列でエスケープされるようになりました。<var>hh</var> は
そのままのバイトの値の 16 進での値です。この規則の例外には、
バックスラッシュを使ってエスケープされる <code>"</code> と <code>\</code> と、
C 形式の表記法が使われる空白文字 (<code>\n</code>, <code>\t</code> など)
があります。2.0.46 以前のバージョンではエスケープ処理は行われませんので、
生ログファイルを扱う際に注意が必要です。</p>
<p>httpd 2.0 では 1.3 とは異なり、<code>%b</code> と <code>%B</code>
フォーマット文字列はクライアントに送信されたバイト数そのものではなく、
HTTP レスポンスのバイト数です (これらは異なるもので、たとえば、
コネクションが途中で破棄された場合や、SSL 使用時に一致しません) 。
<code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> で提供されている <code>%O</code>
フォーマット文字列で、ネットワーク経由で実際に転送されたバイト数を
記録できます。</p>
<h3><a name="examples" id="examples">例</a></h3>
<p>よく使われるフォーマット文字列は:</p>
<dl>
<dt>Common Log Format (CLF)</dt>
<dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd>
<dt>バーチャルホスト付き Common Log Format</dt>
<dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd>
<dt>NCSA extended/combined ログ書式</dt>
<dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\""</code></dd>
<dt>Referer ログ書式</dt>
<dd><code>"%{Referer}i -> %U"</code></dd>
<dt>Agent (ブラウザ) ログ書式</dt>
<dd><code>"%{User-agent}i"</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">セキュリティに関して</a></h2>
<p>ログファイルが保存されているディレクトリがサーバを起動した以外のユーザで
書き込み可能なときにセキュリティの問題が発生する理由の詳細は<a href="../misc/security_tips.html#serverroot">セキュリティのこつ</a>
を参照してください。</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">BufferedLogs</a> <a name="bufferedlogs" id="bufferedlogs">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ディスクに書き出す前にメモリにログエントリをバッファする</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BufferedLogs On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>BufferedLogs Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.41 以降</td></tr>
</table>
<p><code class="directive">BufferedLogs</code> ディレクティブを使うと
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> の挙動が変化して、
複数のログを書き出す際に、それぞれのリクエスト処理後毎に
書き出すのではなく、いったんメモリに蓄えてから、
まとめてディスクに書き出すようになります。
この結果ディスクアクセスがより効率的になり、
高いパフォーマンスの得られるシステムもあるでしょう。
このディレクティブはサーバ全体で一度だけ設定できます;
バーチャルホストごとに設定することはできません。</p>
<div class="note">このディレクティブは実験的なものですので、
使用する際は注意してください。</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">CustomLog</a> <a name="customlog" id="customlog">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ログファイルの名前と書式を設定する</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CustomLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr>
</table>
<p><code class="directive">CustomLog</code> ディレクティブはサーバへのリクエストを
ログ収集するために使われます。ログの書式が指定され、
環境変数を使ってロギングが条件に応じて行なわれるようにすることもできます。</p>
<p>ログが書かれる場所を指定する最初の引数は以下の二つの形式の値を
とることができます:</p>
<dl>
<dt><var>file</var></dt>
<dd><code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>
からの相対パスで表されるファイル名。</dd>
<dt><var>pipe</var></dt>
<dd>パイプ文字 "<code>|</code>" と、その後に標準入力からログの
情報を受けとるプログラムへのパスが続いたもの。
<div class="warning"><h3>セキュリティ</h3>
<p>もしプログラムが使用された場合、
<code class="program"><a href="../programs/httpd.html">httpd</a></code> が起動されたユーザとして実行されます。これはサーバが
root によって起動された場合は root になります。プログラムが
安全であるように留意してください。</p>
</div>
<div class="warning"><h3>注</h3>
<p>Unix でないプラットフォームでファイルのパスを入力しているときは、
使用しているプラットフォームがバックスラッシュの使用を許可していた
として、通常のスラッシュだけを使うように気をつけてください。
一般的に、設定ファイル中では常に普通のスラッシュのみを使うようにする
方が良いです。</p>
</div></dd>
</dl>
<p>二つめの引数はログファイルに何が書かれるかを指定します。
前にある <code class="directive"><a href="#logformat">LogFormat</a></code> ディレクティブにより
定義された <var>nickname</var> か、<a href="#formats">ログの書式</a>
のところで説明されている、明示的な <var>format</var> 文字列の
どちらかを指定することができます。</p>
<p>例えば、以下の二つのディレクティブ群は全く同じ効果をもたらします:</p>
<div class="example"><p><code>
# CustomLog with format nickname<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
CustomLog logs/access_log common<br />
<br />
# CustomLog with explicit format string<br />
CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"
</code></p></div>
<p>三つ目の引数は省略可能で、サーバの環境にある変数があるかないかに
応じてリクエストをログ収集するかどうかを制御するために使うことができます。
指定された<a href="../env.html">環境変数</a>がリクエストに対して
設定されていた場合 ('<code>env=!<var>name</var></code>' 文が使われたときは
設定されていない場合)、リクエストがログ収集されます。</p>
<p>環境変数は <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> モジュールと
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> モジュールの両方もしくは
片方を用いてリクエストごとに設定することができます。
例えば、サーバにあるすべての GIF 画像へのリクエストを別のログファイル
には記録したいけれど、メインログには記録したくない、というときは
以下のものを使うことができます:</p>
<div class="example"><p><code>
SetEnvIf Request_URI \.gif$ gif-image<br />
CustomLog gif-requests.log common env=gif-image<br />
CustomLog nongif-requests.log common env=!gif-image
</code></p></div>
<p>古い RefererIgnore ディレクティブと同じ挙動をさせたい場合は、
次のようにします:</p>
<div class="example"><p><code>
SetEnvIf Referer example\.com localreferer<br />
CustomLog referer.log referer env=!localreferer
</code></p></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="GlobalLog" id="GlobalLog">GlobalLog</a> <a name="globallog" id="globallog">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Sets filename and format of log file</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</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">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.19 and later</td></tr>
</table><p>このディレクティブの解説文書は
まだ翻訳されていません。英語版をご覧ください。
</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="LogFormat" id="LogFormat">LogFormat</a> <a name="logformat" id="logformat">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ログファイルで使用する書式を設定する</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>LogFormat <var>format</var>|<var>nickname</var>
[<var>nickname</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr>
</table>
<p>このディレクティブはアクセスログファイルの書式を指定します。</p>
<p><code class="directive">LogFormat</code> ディレクティブは二つの形式のどちらかを
とることができます。最初の形式では一つの引数のみが指定され、
続く <code class="directive">TransferLog</code>
で指定されたログで使われるログの書式を設定します。この単独の引数では
上の<a href="#formats">カスタムログ書式</a>で説明されているように
<var>format</var> を明示的に指定することができます。
もしくは、下で説明されているように前に <code class="directive">LogFormat</code>
ディレクティブで定義されたログの書式を <var>nickname</var>を使って
参照することもできます。</p>
<p><code class="directive">LogFormat</code> ディレクティブの二つめの形式は
<var>format</var> に <var>nickname</var> を与えます。
フォーマット文字列全体を再び書くかわりに、
この <var>nickname</var> を続きの <code class="directive">LogFormat</code> ディレクティブや
<code class="directive">CustomLog</code> ディレクティブで使うことができます。
Nickname を定義する <code class="directive">LogFormat</code> ディレクティブは
<strong>他には何もしません</strong> -- すなわち、ニックネームを定義
する<em>だけ</em>で、実際に書式を適用してデフォルトにするということは行ないません。
ですから、これは続く <code class="directive"><a href="#transferlog">TransferLog</a></code>
ディレクティブには影響を与えません。
さらに、<code class="directive">LogFormat</code> ディレクティブは既存の nickname を
使って別の nickname を定義することはできません。Nickname には
パーセント記号 (<code>%</code>) が含まれていてはいけないことにも注意
してください。</p>
<div class="example"><h3>例</h3><p><code>
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
</code></p></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">TransferLog</a> <a name="transferlog" id="transferlog">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ログファイルの位置を指定</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>TransferLog <var>file</var>|<var>pipe</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_log_config</td></tr>
</table>
<p>このディレクティブは、ログ書式を直接指定できないことと、
条件付きロギングが無いことを除くと、<code class="directive"><a href="#customlog">CustomLog</a></code> と全く同じ引数と効果があります。
直接ログ書式を指定する代わりに、ログの書式はそこまでで一番最後に指定された
ニックネームを定義しない
<code class="directive"><a href="#logformat">LogFormat</a></code> ディレクティブ
で定義されたものを使います。
もし他の書式が全く指定されていないときは Common Log Format
が使われます。</p>
<div class="example"><h3>例</h3><p><code>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""<br />
TransferLog logs/access_log
</code></p></div>
</div>
</div>
<div class="bottomlang">
<p><span>翻訳済み言語: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_log_config.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/mod_log_config.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_log_config.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2019 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|