ログローテーション

CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。
日ごとにログを切り替える設定
app/Config/bootstrap.phpを以下のように変更もしくは追加して下さい。
// app/Config/bootstrap.php[変更or追加 後] /** * Configures default file logging options */ App::uses( 'CakeLog', 'Log'); CakeLog::config( 'debug', array( 'engine' => 'FileLog', 'types' => array( 'notice', 'info', 'debug'), 'file' => date( 'Ymd') . '_' . 'debug', // 変更 // 'size' => ‘5MB’ // 5Mごとにファイル切替 // 'rotate' => 20 // 20ファイルまで切替 )); CakeLog::config( 'error', array( 'engine' => 'FileLog', 'types' => array( 'warning', 'error', 'critical', 'alert', 'emergency'), 'file' => date( 'Ymd') . '_' . 'error', // 変更 ));
これで、日を跨ぐごとにapp/tmp/log下にyyyymmdd_debug.logとyyyymmdd_error.logで作成されるようになります。
オプション
2.4で以下のオプションが追加されました。上の設定では日付ごとにローテーションされますが、さらに同一(同日付)ファイルに対してローテーションが行われます。ファイル名は、'file'に切替が行われた時間のUNIXタイムスタンプが付与されます。
- size:1つのファイルの上限サイズ 上限に達するとファイルの切替が行われます。(デフォルト10M)
- rotate:ローテーションの最大数。設定数前のファイルは削除されます。(デフォルト10)
CakePHP 1.3では
1.3ではbootstrap.phpには記述されていないため、以下そのまま追記して下さい。
CakePHP 1.3 - ログローテーション
// app/config/bootstrap.php <?php $log_path = LOGS.DS.date('Ymd').'_'; CakeLog::config('default', array('engine' => 'FileLog', 'path' => $log_path)); ?>
関連記事
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
ハッシュ関数の選択とハッシュ化処理
CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。 ハッシュ関数の選択 ハッ
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。
-
-
CakePHP インストール時エラーの対処
CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設
-
-
多言語サイト向けに翻訳ファイルを使って翻訳を行う
CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook
-
-
Blowfishを使用してハッシュ化する
使用方法 Blowfishを採用してハッシュ化を行う場合、Securityクラスのhashメソッドを呼び出します。第2引数に'blowfish'を指定し、第3引数を指定しないもしくはfalseにしま
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
FullCalendarを使用してカレンダーアプリケーション
カレンダーアプリケーションを作成するため、カレンダー表示できるプラグインを探索して出会ったFullcalendarを試してみました。シンプルに使用できる上に、オプションがかなり豊富です。ダウンロード
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
Comment
この辺の絡みで
ログローテーション https://t.co/W37Ig2RYJK
(CakePHP2.x)2.3から2.6へバージョンアップしてみる
https://t.co/VZpH5pRRPG
を見てる。
[…] CakePHP 2.x – ログローテーション http://kwski.net/cakephp-2-x/1048/ […]
CakePHP 2.x: ログローテーション | Think deeply, Do less, More effective http://t.co/ONpWxAjWbx
RT @kwski3: 2.4から追加されたローテーションオプションを追記 CakePHP ログローテーション http://t.co/MkmVurpxoG
CakePHPのログローテーション / CakePHP 2.x | ログローテーション
[…] CakePHP 2.x | ログローテーション | Think deeply, Do less, More effective […]
お、CakePHP2.xではログパスが変更可能。http://kwski.net/cakephp-2-x/1048/
CakePHP 2.x: ログローテーション | Think deeply, Do less, More effective http://htn.to/3KyUWJArLGL