PHPでログ管理

まずは必要なファイルの準備。
http://pear.php.net/package/Log/download
↑Download (10/05/31現在のバージョンは1.12.1)

pear install Log

でも行けるっぽいけど、今回はインストール出来る環境が無いこと前提で、
For manual installation onlyから圧縮ファイルを取得。
それを展開。

tar zxvf Log-1.12.1.tgz

置く場所はどこでもいいけど外から見えない方がいいかも。

<?php
require_once '[置いた場所]/Log-1.12.1/Log.php';
$log = &Log::singleton('file',        // 保存形式。今回はファイルに保存するのでfile
                       'logtest.log', // ログファイル保存先
                       'logtest',     // 識別子
                       null,          // 追加オプション
                       PEAR_LOG_DEBUG // ログレベル。この場合は全部出力する。
                       );
$log->info('test');
$log->err('error');
$log->debug('debug');
?>

上記のコードを実行すると実行ディレクトリに↓と書かれたlogtest.logが。

May 31 06:09:53 logtest [info] test
May 31 06:09:53 logtest [error] error
May 31 06:09:53 logtest [debug] debug

それぞれのログにはログレベルというものが存在して、重要度で分かれている。
DEBUG(デバッグ用)、WARNING(警告用)など。
今回は初期化にPEAR_LOG_DEBUGを用いたので全て書きこまれたが、
例えばPEAR_LOG_WARNINGを用いると、
それよりも重要度の低いDEBUG関連は書きこまれなくなる。
ログレベル等の説明は下記が詳しい。
634 - Pear - Log