CakePHPのエラーログがサーバー容量を圧迫していた
サーバーの容量が圧迫されてたので調べてみたら、cakephp/app/tmp/logsディレクトリがサーバー容量を半分以上占有している事が発覚。
※ちなみに調べるときに使ったコマンドはこちら。
# du | sort -nr | more
詳しくはサーバー容量を占有しているフォルダを調べるコマンド。
ログローテーションで解決
CakePHPのログローテーションとは
デバックログやエラーログ等をファイルに書きだす際に、延々とログがたまってしまいサーバーの容量を圧迫してしまう。
ログローテーションの設定により、ログファイルを日付毎等に分割したりファイルの上限サイズを決めたりできる。
設定方法
bootstrap.phpのログ設定に以下の記述を追加する。
'size' => '10MB',
'rotate' => 10
- size:1つのファイルの上限サイズ 上限に達するとファイルの切替が行われる。
- rotate:ローテーションの最大数。設定数前のファイルは削除される。
設定後のbootstrap.php
app/Config/bootstrap.php
CakeLog::config('debug', array(
'engine' => 'FileLog',
'types' => array('notice', 'info', 'debug'),
'file' => 'debug',
'size' => '10MB',
'rotate' => 10,
));
CakeLog::config('error', array(
'engine' => 'FileLog',
'types' => array('warning', 'error', 'critical', 'alert', 'emergency'),
'file' => 'error',
'size' => '10MB',
'rotate' => 10,
));