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,
    );
lib/Cake/Log/Engine/SyslogLog.php
Utility > Logging > Logging to Syslog
  • このエントリーをはてなブックマークに追加

関連記事

ユーザ登録(仮登録・メール・本登録)

以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU

(メール・URL・電話・郵便・IP) データ バリデーション

今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス

ログローテーション

CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。 日ごとにログを切り替え

DebugKitを導入

定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし

checkボックスを実装

selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA

入力文字列の長さ(文字数)をバリデーション

CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt

selectボックスを実装

今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った

アップロードファイルのバリデーションルール

CakePHP 2.2や2.3になってファイルアップロードに対するルールがコアバリデーションに追加されているようで、まとめてみました。 コアバリデーション 関連しそうなルールは以下の4つの

ログインに追加の条件を付与する「scope」

ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには

テーブルからランダムにデータを取り出す(find)

CakePHPでテーブルから特定件数のレコードをランダムに取得するには以下のように指定するとできます。 $this->data = $this->Bulkdata->find( 'all',

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

PAGE TOP ↑