Syslogログエンジン
2.4から「Syslog」ログクラスが追加され、簡単にSyslogを使用できるようになりました。
CakePHP側の設定はbootstrap.php内のCakeLogコンフィグのengineを'Syslog'に変更するだけです。あとは必要に応じてオプションを設定しサーバ側にお任せするだけです。
// app/Config/bootstrap.php
CakeLog::config( 'debug', array(
'engine' => 'Syslog',
'types' => array( 'notice', 'info', 'debug'), // 採用するログレベル
// 'format' => '%s: %s',
// 'flag' => LOG_ODELAY,
// 'prefix' => '',
// 'facility' => LOG_USER
));
パラメーターはopenlogを参照
- format - 出力メッセージのフォーマット。2つのパラメータ、1つ目の%sが「ログレベル」、2つ目の%sが「メッセージ本体」を組み合わせてフォーマットします。
- flag - 「openlog」のoptionを参照。デフォルトはLOG_ODELAY
- prefix - 出力メッセージの先頭に付与する文字列が設定できます。
- facility - 「openlog」のfacilityを参照。デフォルトはLOG_USER
ログレベル
ログレベル(Severity)はrfc5424(syslog)に準拠するよう変更されているようです。それぞれ、$this->log( 'メッセージ', LOG_EMERG)などで使い分けできます。
// lib/Cake/Log/CakeLog.php
/**
* Default log levels as detailed in RFC 5424
* http://tools.ietf.org/html/rfc5424
*
* @var array
*/
protected static $_defaultLevels = array(
'emergency' => LOG_EMERG,
'alert' => LOG_ALERT,
'critical' => LOG_CRIT,
'error' => LOG_ERR,
'warning' => LOG_WARNING,
'notice' => LOG_NOTICE,
'info' => LOG_INFO,
'debug' => LOG_DEBUG,
);
Utility > Logging > Logging to Syslog
関連記事
-
-
Blowfishを使用してハッシュ化する
使用方法 Blowfishを採用してハッシュ化を行う場合、Securityクラスのhashメソッドを呼び出します。第2引数に'blowfish'を指定し、第3引数を指定しないもしくはfalseにしま
-
-
コントローラ内でバリデーション処理を呼び出す
CakePHPでは、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。
-
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。
-
-
CakeEmailでメール送信(@gmail)
CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config
-
-
recursive設定によるfind()性能改善
CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま
-
-
テーブルからランダムにデータを取り出す(find)
CakePHPでテーブルから特定件数のレコードをランダムに取得するには以下のように指定するとできます。 $this->data = $this->Bulkdata->find( 'all',
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス


Comment
CakePHP 2.x | Syslogログエンジン http://t.co/p1ZP1WIeEc