2016/8/12現在最新のEC-CUBE3.0.10にはMonologがデフォルトで使える。
デバッグなどの際、dumpを使うことで画面上に出力することもできるのだけど、ログ出力したい場合にはMonologを使うと良い。
簡単な使用例
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$log = new Logger('LogName');
$log->pushHandler(new StreamHandler('../app/log/foobar.log', Logger::DEBUG));
$log->debug('Foo'); // --- (1)
$log->info('Bar'); // --- (2)
$log->warning('Hoge'); // --- (3)
$log->error('Huga'); // --- (4)
ざっくりと解説
StreamHandlerコンストラクタの第一引数にはログファイルのパス、第二引数には出力するログレベルを与える。
上記の使用例では、app/log/
にfoobar.log
というログファイルを出力する形になり、ログレベルがDEBUG
なので(1)〜(4)すべてのメッセージが出力される。
仮に、ログレベルにWARNING
を指定すると、(1)および(2)は出力されず、(3)と(4)のみが出力されるようになる。