Apacheのカスタムログ設定は、
httpd.conf の LogFormat と CustomLog ディレクティブを使います。この記事では、Apacheのカスタムログ(LogFormat)の設定方法とフォーマット文字列の一覧を解説します。
【この記事でわかること】
・ログ形式は LogFormat ディレクティブで定義し、CustomLog で適用する
・デフォルトは common 形式(IPアドレス・日時・リクエスト・ステータス)
・combined 形式はcommonにReferer・User-Agentを加えた業界標準フォーマット
・%{クッキー名}C や %{ヘッダー名}i など柔軟なカスタマイズが可能
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
LogFormatとCustomLogの基本設定
# httpd.confのLogFormat設定例 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common # combined形式でアクセスログを記録する CustomLog "logs/access_log" combined
主なフォーマット文字列一覧
| フォーマット文字列 | 説明 |
|---|---|
%a |
アクセス元のIPアドレス |
%b |
送信されたバイト数(ヘッダーは含まず)。0バイトの時は「-」 |
%h |
リモートホスト名 |
%m |
リクエストのメソッド名(GET、POST等) |
%p |
サーバーのポート番号 |
%P |
サーバーのプロセスID |
%r |
リクエストの最初の行(メソッド・URL・プロトコル) |
%s |
レスポンスのステータスコード |
%t |
リクエストを受け取った日時 |
%T |
リクエストの処理にかかった時間(秒) |
%u |
認証ユーザー名 |
%U |
リクエストのURLパス |
%v |
バーチャルホスト名 |
%{クッキー名}C |
リクエストに含まれるクッキーの値 |
%{ヘッダー名}i |
リクエストヘッダーの値(例:%{Referer}i、%{User-Agent}i) |
%{ヘッダー名}o |
レスポンスヘッダーの値 |
commonからcombinedに変更する方法
# httpd.confを編集する # vi /etc/httpd/conf/httpd.conf # common行をコメントアウトし、combined行のコメントを外す # CustomLog "logs/access_log" common CustomLog "logs/access_log" combined
# systemctl restart httpd
本記事のまとめ
| 設定内容 | 設定例 |
|---|---|
| combined形式でログ記録 | CustomLog "logs/access_log" combined |
| Apache再起動 | systemctl restart httpd |
Apacheのログ設定を体系的に学びたい方へ
ログの適切な設定はアクセス解析やセキュリティ調査の基盤になります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます