こしごぇ(B)

旧:http://d.hatena.ne.jp/koshigoeb/

2015-04-01から1ヶ月間の記事一覧

Fluent 経由で Bugsnag に送信する試み

ひとまず、ざっくりと形にはなったけど、これが上手く運用に乗る程度のものかは分からない。 koshigoe/logging-bugsnag で TwP/logging を拡張し、error 以上のログを bugsnag/bugsnag-ruby の deliver に渡す koshigoe/bugsnag-delivery-fluent で bugsnag/…

ActiveSupport::Logger#broadcast は異なるレベルのロガーを束ねるには適さない?

セッターの挙動を見るに、レベルやフォーマッタなどは全て同一のものを使う前提にあるっぽい。 extend 後にセッターを呼ばなければ各ロガーで設定したものを使う事はできるが、 quiet_assets や ActiveSupport::Logger#silence などを使った場合はレベルが変…

Rails.logger.error(msg) したら Bugsnag にも通知しちゃうやつ

注意: quiet_assets など、broadcast 後に Rails.logger.level= する様な実装をしているケースには未対応。 こんな感じでやってみた。 lib/ext と lib/bugsnag に分けたのは、Bugsnag クライアントが lib/bugsnag にマッチしたバックトレース行を読み飛ばし…

ActiveSupport::Logger.broadcast と quiet_assets gem

quiet_assets を使っていると ActiveSupport::Logger.broadcast で追加したロガーのレベルが Rails.logger.level にされてしまう模様。 ざっくり言うと、以下の様な事が起きる。 error_logger = ActiveSupport::Logger.new(Rails.root.join('log/error.log')…

FactoryGirl を使って冪等な Database seeding をやってみた

development, test 以外で FactoryGirl を使うのどうなんだ、という話は全力で脇に置く。こういう誤魔化し方もあるのかな、という試み。 koshigoe/rails-example-seeding-by-factory_girl んー、seeds.rb で find_or_create_by を書かなくて良い、程度のおも…

Heroku で Reverse Proxy

ろくに調べもせず、明後日の方向に進んでいる気がするけれど。 koshigoe/heroku-reverse-proxy require 'rack/reverse_proxy' if ENV['BASIC_AUTH_USERNAME'] && ENV['BASIC_AUTH_PASSWORD'] && !ENV['BASIC_AUTH_USERNAME'].empty? && !ENV['BASIC_AUTH_PAS…

シェルスクリプトの trap でシグナルを拾う場合の実行中コマンド

例えば、以下の様にして TERM を拾う様にしてみる。 #!/bin/bash -x trap "echo trap TERM; exit 1" TERM trap "echo EXIT" EXIT sleep 5 echo ok 以下は sleep 5 で待っている間に pkill -f trap-signal.sh で TERM シグナルを送った時の結果。 $ ./trap-si…

Heroku で運用するプレビュー環境に自動デプロイする試み(0)

中途半端だけど、せっかくやってみたので晒してみる。一番の収穫は、シェルスクリプトの trap を覚えた事だったりするのは内緒。 やっていること CI で CircleCI を使用している Git を使用している GitHub を使用している PR をレビューして master ブラン…

ようやく Rails の Application Template を使ってみた

なんだかんだサボってしまっていたけれど、ようやく重い腰を上げて使ってみた。 Creating and Customizing Rails Generators & Templates — Ruby on Rails Guides Rails Application Templates — Ruby on Rails Guides

delayed_job の plugin

知っていたかもしれないけど、記憶に無かったので調べてまとめてみる。 tl;dr こんな感じかな? delayed_job にはプラグイン機構がある プラグインは Delayed::Plugin を継承して実装する プラグインによってワーカーのイベントコールバックを登録できる プ…