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
関連記事
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
Formヘルパーのinputタグのdiv/labelなどの設定
Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま
-
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。
-
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
-
checkボックスを実装
selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA
-
-
HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし


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