こんにちは、フルスタックエンジニアのryuです。
今回の記事では、ApacheのLogFormatの使い方について解説します。LogFormatを使って、ログの書式を変更してみましょう。設定方法は、Apacheの設定ファイルを開き、LogFormatを変更するだけです。ログをカスタマイズして、Webサイトの運用をやり易くしましょう。
目次
ApacheのLogFormatの使い方は?
ApacheのLogFormatはどうやって使うの?
今回の記事では、ApacheのLogFormatの使い方について解説します。LogFormatを使用することで、Apacheのアクセスログの表示形式を変更することができます。
LogFormatの使い方について詳しく解説します!
Apacheの設定ファイルでLogFormatを定義
では早速LogFormatを使ってみましょう。LogFormatはデフォルトで既に設定されています。設定されている場所は、Apacheの設定ファイルです。viコマンドを使用して、ファイルを開いてみましょう。
vi /etc/apache/apache2.conf
もしくは
vi /etc/http/httpd.confファイルの下部にLogFormatの設定がされています。
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agentこれらが、どのような意味があるのか、さらに詳しく解説します。
LogFormatの書式
LogFormatの書式は、以下のようになります。
LogFormat [フォーマット] [書式名]フォーマットは、Logに出力する情報を定義します。書式名は、LogFormatの名前です。Logファイルの場所を指定するときに使用する”CustomLog”に指定します。
LogFormatの文字列一覧
LogFormatでは、ログのフォーマットを指定します。フォーマットの文字列の意味は以下の通りです。
| %a | リモートIPアドレス |
| %A | ローカルIPアドレス |
| %b | クライアントに送信されたHTTPヘッダ以外のバイト数 |
| %f | ファイル名 |
| %h | リモートホスト |
| %H | リクエストプロトコル |
| %I | リモートログ名 |
| %m | リモートメソッド |
| %r | リクエストの最初の行 |
| %t | サーバーがリウエストの処理を終えた時間 |
| %T | リクエスト処理にかかった時間 |
| %u | リクエストをしたユーザー名 |
| %U | リクエストされたユーザー名 |
| %>s | サーバーがクライアントに返すステータスコード |
| %{Referer}i | リクエスト内のRefererヘッダの内容 |
| %{User-agent}i | リクエスト内のUser-agentヘッダの内容 |
LogFormatでApacheのアクセスログをカスタマイズしてみよう
では、最後にLogFormatでApacheのアクセスログをカスタマイズしてみましょう。
Apacheの設定ファイルの編集
まず、設定ファイルを編集します。先ほど同様にviコマンドを使用して編集します。
vi /etc/apache/apache2.conf
もしくは
vi /etc/http/httpd.confファイルに以下のように定義します。
LogFormat "%h %l %u %t %U" testlog
CustomLog ${APACHE_LOG_DIR}/test/access.log testlogLogFormatは5つの情報を出力するようにしています。testlogという書式名を定義して、CustomLogでtestlogのファイルを設定しています。CustomLogについてはこちらの記事で詳しく解説しています。
Apacheのログの場所は?ログの場所を設定する方法について詳しく解説
これで設定は完了です。
Apacheを再起動する
設定ファイルの編集が完了したら、Apacheの再起動をして、設定を反映させます。その前に、ログを出力させるディレクトリの作成を行います。
mkdir -m 777 /var/log/apache/testApacheがログファイルの作成や書き込みができるように、権限をフルアクセスで付与しています。
最後にApacheを再起動して完了です。
service apache2 restartこれでログのカスタマイズが完了です!
ApacheのLogFormatの使い方まとめ
今回の記事では、ApacheのLogFormatの使い方について解説しました。まとめると以下のようになります。
- Apacheの設定ファイルでLogFormatの設定
- LogFormat [フォーマット] [書式名]で定義
- CustomLogで出力させる
LogFormatを使用して、Apacheのログをカスタマイズしてみましょう!
このようなインフラエンジニアに必要な知識を当ブログでは、紹介しているので興味のある方は是非ご覧ください。
さらにlinuxについて勉強したい方はこちらの参考書がオススメです。











































