🐙
[CakePHP]ロギング
ログの書き込み
① Controller, Component, View等で書き込みたい場合
LogTraitのlog()関数を使う。
② ①以外の場合Log::write()を使う、もしくはLogTraitを呼び出してlog()関数を使う。
ロギングの設定 Log::setConfig()
Log::setConfig('debug', [
'className' => 'File',
'path' => LOGS,
'levels' => ['notice', 'info', 'debug'],
'file' => 'debug',
]);
- 第1引数
debugは設定の名前
Log::getConfig('debug')で上記の設定が取得できる - classNameの
FileはFileLog.phpを使いログを記録するということ。- FileLogの場合はsize, rotate, maskなどのオプションが使える。
- pathはログの保存場所
- levelsはどのレベルの場合保存するか。log()関数の第2引数と対応
pulic function log($message, $level, $context): bool
- fileは保存時のファイル名。上記の場合
debug.logという名前でファイルが保存される。
確認時の環境CakePHP:4.3
Discussion