🐙
[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