2013.05.22
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ

Sentryのインストール方法は シゲさん が書いてくれるはずです。
弊社製のFuelPHPのSentryパッケージは ヤマジュンの記事 の通りです。
今回は、素のPHPとJSでSentryに送信してみます。
1. raven-phpのインストール
Composerが使えるなら、Composerを使いましょう。
https://packagist.org/packages/raven/raven
今回は原始的に、GitHubからZIPをDLして使ってみます。
もちろん、Submodule管理でも良いです。
https://github.com/getsentry/raven-php
DLして解凍したディレクトリの”lib/Raven”を、適切な場所に配置します。
フレームワークを使っているなら”Vendor/Raven”とかになります。
2. PHPからSentryに送信
以下、サンプルコードです。
// Autoloader.phpの読込
// Composerを使っているのなら、代わりに vendor/autoload.php を読み込んで下さい。
// その際、これは不要です。
require_once "Vendor/Raven/Autoloader.php";
Raven_Autoloader::register();
// Raven_Clientクラスのインスタンスを生成
$client = new Raven_Client("http://xxx:yyy@example.com:[ポート番号]/[id]");
// メッセージを送信
$client->captureMessage("hello world!");
// 例外を送信
try {
?throw new Exception("Uh oh!");
} catch (Exception $e) {
?$client->captureException($e);
}
URLの類は、Sentry側で確認して下さい。
エラーハンドラ内で $client->captureException するのが基本と思います。
尚、composer.jsonを見ると、raven-php自体はPHP5.2.4以上で動くようです。
3. JSからSentryに送信
以下、サンプルコードです。
URLの類は、Sentry側で確認して下さい。
これで、JSのエラーが発生するとSentryに自動送信されます。
任意送信の方法は ヤマジュンの記事 を参考にして下さい。
4. 備考
ヤマジュンの記事 にも書かれていますが、Sentryへの送信時にHTTP通信が発生するので、ログのノリで仕込んでレスポンスが低下して泣くハメにならないよう、注意が必要そうです。