Posted at

EC-CUBE3でログ出力したいならMonologを使うと良い

More than 3 years have passed since last update.

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)のみが出力されるようになる。