ログってなんぼ

日々のメモです

CakePHP2.2からfluent-logger-phpでTreasureDataにデータを送る

CakePHP2.2.2とfluent-logger-phpで。

fluent/fluent-logger-php · GitHub はてなブックマーク - fluent/fluent-logger-php · GitHub

こちら使わせていただきます。

fluent-logger-php の入手

git clone https://github.com/fluent/fluent-logger-php.git

app/Vendor にでも置いときましょう

$ cp -r fluent-logger-php PATH_TO_CAKE/app/Vendor/

td-agent.conf

unix scoketをsourceに追加。 すでにTreasureDataへのtdlogタイプ送信が設定されているのであれば送信に関しては特に何もする必要なし。

# for php-logger

type unix
path /var/run/td-agent/td-agent.sock


  type copy
  
    type tdlog
    apikey APIKEY
    auto_create_table
    buffer_type file
    buffer_path /var/log/td-agent/buffer/td
    use_ssl true
    flush_interval 10s
  

test.hoge に一行書き込み

App::import('Vendor', 'fluent-logger-php/src/Fluent/Autoloader');
use FluentLoggerFluentLogger;
FluentAutoloader::register();
$logger = new FluentLogger("unix:///var/run/td-agent/td-agent.sock");
$logger->post("td.test.hoge", array(
    "title" => "hoge",
    "url" => "URL"
    ));

楽ですね。