FuelPHPにRollbarを組み込む

FuelPHPのLogクラスは内部で、Monologを使用している。
MonologにはHandlersという仕組みでログの出力先をカスタマイズできる仕組みがあり、Rollbarにも対応している。

参考:monolog の Handler を追加する場合の記述場所 – Google グループ

前提

  1. Rollbarのアカウントを作成し、プロジェクトを作成する。
  2. https://rollbar.com/アカウント名/プロジェクト名/settings/access_tokens/ を参照して post_server_item のアクセストークンをメモしておく(※)

手順

fuel/app/bootstrap.phpを編集して末尾に以下を加える

$rollbar_config = array(
    'access_token' => 'POST_SERVER_ITEM_ACCESS_TOKEN',
    'environment' => \Fuel::$env,
);
\Log::instance()->pushHandler(new \Monolog\Handler\RollbarHandler(
        new RollbarNotifier($rollbar_config), \Monolog\Logger::NOTICE
));

POST_SERVER_ITEM_ACCESS_TOKENは※で取得したトークンに置き換える。

これにより、\Log::warning()や\Log::error()やFuelPHP上で発生したPHPエラーがRollbarにも出力されるようになる。