CakePHPでのログローテーションの設定
1系だと、ログローテートをするためにはログエンジンを自作する必要があった。
具体的には
CakeLog:: config('default', array ('engine' => 'MyLog'));
とか
CakeLog::config('default', array('engine' => 'FileLog', 'path' => $log_path));
みたいな感じ。
2系だと、bootstrap.phpに記述されている以下の設定のfileの部分を動的に変更できるようにするだけでログのローテートをすることができる。
App::uses ('CakeLog' , 'Log' ); CakeLog::config ('debug' , array( 'engine' => 'FileLog', 'types' => array ('notice' , 'info' , 'debug' ), 'file' => 'debug-' . date( 'Ym'), )); CakeLog::config ('error' , array( 'engine' => 'FileLog', 'types' => array ('warning' , 'error' , 'critical' , 'alert' , 'emergency' ), 'file' => 'error-' . date( 'Ym'), ));
やっと標準でもログローテーションに対応できるようになった。