CakePHP2.xでログローテーションする方法。
2015/01/11
CakePHP2.xで、エラーログやデバッグログを日付ごとに出したいと思ったので挑戦したところ、思いの外簡単にできてしまったので、忘備録としてポストです。
app/Config/bootstrap.php にてログ設定があるので、そちらを編集します。
app/Config/bootstrap.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/** * Configures default file logging options */ App::uses('CakeLog', 'Log'); $log_path = LOGS.DS.date('Ymd').'_'; // ←追加 CakeLog::config('debug', array( 'engine' => 'FileLog', 'types' => array('notice', 'info', 'debug'), 'file' => 'debug', 'path' => $log_path // ←追加 )); CakeLog::config('error', array( 'engine' => 'FileLog', 'types' => array('warning', 'error', 'critical', 'alert', 'emergency'), 'file' => 'error', 'path' => $log_path // ←追加 )); |
これで、エラーが出た日付ファイル名(yyyymmdd_debug.log と yyyymmdd_error.log)が、app/tmp/log に作成されます。
こちらのローカルでは、こんな具合で出来上がりました。
[tgAmazonItemLookup asin="B0058GI33W" related="1"]