faultlineとは
オープンソースのエラートラッキングツールです。
AWSのマネージドサービスのみで構築されており、運用コストが小さい(当社比)のが特徴です。
参考URL
Faultline::Rack
Railsのエラートラッキングにfaultlineを利用するときには、faultline-rack が利用できます。
faultline-rack はRackミドルウェアとして提供されています。
インストール
Gemfileに以下のコードを記載してインストールしてください
gem 'faultline-rack'
使い方
config/application.rb などでfaultlineの設定を追加したあと、Rackミドルウェアとしてuseすれば完了です。
require 'faultline/rack'
Faultline.configure do |c|
c.project = 'faultline-rack'
c.api_key = 'xxxxXXXXXxXxXXxxXXXXXXXxxxxXXXXXX'
c.endpoint = 'https://xxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/v0'
c.notifications = [
{
# Slackへの通知
type: 'slack',
endpoint: 'https://hooks.slack.com/services/XXXXXXXXXX/B2RAD9423/WC2uTs3MyGldZvieAtAA7gQq',
channel: '#random',
username: 'faultline-notify',
notifyInterval: 1,
threshold: 1,
timezone: 'Asia/Tokyo'
},
{
# GitHub Issueへの登録
type: 'github',
userToken: 'XXXXXXXxxxxXXXXXXxxxxxXXXXXXXXXX',
owner: 'k1LoW',
repo: 'faultline',
labels: [
'faultline', 'bug'
],
if_exist: 'reopen-and-comment',
notifyInterval: 1,
threshold: 1,
timezone: 'Asia/Tokyo'
}
]
end
[...]
module MyApp
class Application < Rails::Application
config.middleware.use Faultline::Rack::Middleware
end
end
設定はこれだけです。
エラー通知イメージ
というわけでRackアプリケーションでもfaultlineが使えますよ!