Apacheのカスタムログを設定する


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
Apacheのカスタムログ設定を行うには、httpd.confファイルの
<IfModule log_config_module>〜</IfModule>ディレクティブを編集します。

LogFormatでは、ログの出力形式を指定できます。
デフォルトで「httpd.conf」ファイルに記述されているログフォーマットは、
「common」と「combined」の2つになります。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

上記の出力形式がデフォルトになり、不要なものがあれば削除し、
必要なものがあれば追加してカスタマイズします。
例えば、サーバーのプロセスIDを出力させたい場合は、「%P」を、
ポート番号を出力させたい場合は、「%p」を追加します。

設定可能な主な項目は下記の通りです。
これらの項目をダブルクオーテーション(")で囲って指定します。
フォーマットの中でダブルクオーテーションを記述したい場合は、
「¥」でエスケープして記述します。
%a アクセス元のIPアドレス
%A サーバー(Apache)のIPアドレス
%B 送信されたバイト数(ヘッダーは含まず)
%b 送信されたバイト数(ヘッダーは含まず)。0バイトの時は「-」
%f リクエストされたファイル名
%h リモートホスト名
%H リクエストのプロトコル名
%l クライアントの識別子
%m リクエストのメソッド名
%q リクエストに含まれるクエリー文字列。空白以外は「?」が付く。
%r リクエストの最初の行の値
%s レスポンスステータス
%S 最後のレスポンスのステータス
%t 時刻
%T 処理にかかった時間
%u 認証ユーザー名
%U リクエストのURLパス
%v リクエストに対するバーチャルホスト名
%V UseCanonicalNameによるサーバ名
%X 接続ステータス
%{クッキー名}C リクエストに含まれるクッキーの値
%{環境変数名}e 環境変数名の値
%{ヘッダー名}i リクエストに含まれるヘッダー名の値
%{ヘッダー名}o レスポンスに含まれるヘッダー名の値
%{メモ}n モジュールから渡されるメモの値
%{フォーマット}t フォーマットされた時刻


上記項目内で{}で囲んで記述されている項目があります。
例えば、「%{クッキー名}C」は、ヘッダーの中からクッキー名に
指定した値だけを出力します。

デフォルトで有効になっているアクセスログは、「common」になります。
これを「combined」に変更するには、httpd.confファイルの
「CustomLog "logs/access_log" common」の行頭に「#」を挿入して
コメントアウトし、「CustomLog "logs/access_log" combined」の
行頭にある「#」を削除します。

# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a
# container, they will be logged here. Contrariwise, if you *do*
# define per- access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog "logs/access_log" common  ←行頭に「#」を挿入します。

#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
CustomLog "logs/access_log" combined  ←行頭の「#」を削除します。


設定後は、変更内容を反映させる為に、
Apacheの再起動または、設定ファイルの再読み込み処理が必要になります。



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

<<関連記事>>
・MIMEでエンコードされたテキストを読めるように変換する
・viエディタで文字をコピーする
・ハードディスクの使用状況を調べるには
・tar.bz2ファイルの解凍・圧縮コマンド|tar.gzとの違いやオプション一覧
・tar.gz形式のファイルを解凍、展開するには

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る