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
  • このエントリーをはてなブックマークに追加

関連記事

ハッシュ関数の選択とハッシュ化処理

CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。 ハッシュ関数の選択 ハッ

Markdown Plugin

「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー

Formヘルパーのinputタグのdiv/labelなどの設定

Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま

checkボックスを実装

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

CakeEmailでメール送信(@gmail)

CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config

RSSフィードの取得

コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://

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

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

複数ファイルアップロードフォーム

CakePHP 2.0からはHTML5が標準でサポートとなり、複数ファイルアップロードのためのフォーム記述が容易になりました。 View (ビュー) 配列 Array (

no image

HttpSocketを使用してリクエスト送信

CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H

FormヘルパーのMagicOption (マジックオプション) 

Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある

Comment

Message

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

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑