LoginSignup
13
13

More than 5 years have passed since last update.

CakePHPのログファイルがサーバーの容量を食ってたからログローテーション設定で対処した

Posted at

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,
));
13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13