ログローテーション

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)); ?>
関連記事
-
-
RSSフィードの取得
コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://
-
-
checkボックスを実装
selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA
-
-
CakeEmailでメール送信(@gmail)
CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config
-
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
-
-
Cookieログイン
今回は、ログイン画面でよくみかけるクッキーログインの機能を使ってみます。 CakePHPには、Cookieコンポーネントがあります。(PHPのsetcookieメソッドのラッパー)メソッドはwr
-
-
Formヘルパーのinputタグのdiv/labelなどの設定
Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま
-
-
Markdown Plugin
「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー
-
-
多言語サイト向けに翻訳ファイルを使って翻訳を行う
CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook
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