No.234


【CakePHP3】コントローラー以外でのロギング

モデルからログを記録したい!

 CakePHP2以前ではどこからでも

$this->log("メッセージ");

 でログが記録できていた。超便利。

 ところがこの便利なログ機能、CakePHP3ではコンロトーラー以外では使えなくなってしまった。

 ちょっと悩んだけど、ロギングクラスを読み込めばどこでも利用することが出来ることに気がついたのでメモ。


利用

 ロギングクラスの利用宣言をしておく。

use Cake\Log\Log;

 あとは、直接メソッドを実行してしまえばOK。

Cake\Log\Log::debug("メッセージ");

 メソッドはログレベル別に用意されているので、用途によって使い分けが可能。

emergency
alert
critical
error
warning
notice
debug
info

 まあ、debugとerrorくらいで事足りると思うけど。