Monologを使いやすくする

Monologでログ出力の改行を有効にする | Hack
Monologでログ出力したときに末尾につく [] [] を消す | Hack

上記の設定をいちいち記述するのは面倒です。
というわけでMonologのLoggerクラスのラッパーを作って楽をできるようにしてみました。

class Logger extends \Monolog\Logger {

    public function __construct($logfile, $level = parent::DEBUG, $channel = 'App'){

        $formatter = new \Monolog\Formatter\LineFormatter(null, null, true, true);
        $stream = new \Monolog\Handler\StreamHandler($logfile, $level);
        $stream->setFormatter($formatter);

        parent::__construct($channel);
        $this->pushHandler($stream);

    }

}

コンストラクタの第1引数に出力先ログファイルのパス、第2引数にログレベル、第3引数にチャネルを与えてインスタンスを生成します。インスタンス生成後はMonologと同様にして使えます。

$log = new Logger('/path/to/log');
$log->addError('Error!');