[Ruby] Railsã®ã¨ã©ã¼ç®¡çãã¼ã«ã®Hoptoadã使ã£ã¦ã¿ã
Railsã®ã¨ã©ã¼ç®¡çãã©ã¯ã«åºæ¥ããããã®ã§è©¦ãã«è¨å®ãã¦ã¿ã¾ãã.
ãã®æã®ãã¼ã«ã¯è¦ã¦ã¦æ¥½ããã®ã§. è¦ã«ãªããããã¨ã©ã¼å¯¾å¿ãæ°åè¯ãåºæ¥ãã.
å°å ¥æ¹æ³ãããã£ããã¨çãã¾ã¨ãã¦ã¿ã¾ãã.
Hoptoadã¨ã¯
Hoptoadã®ä»çµã¿ã¯ãRailsã®ä¾å¤çããã£ãããããHoptoadã®ãµã¤ãã«éç¥ãã¦è¦ããããã¦ããã.
ãã©ã°ã¤ã³ã¨ãã¦ç¨æããã¦ããã®ã§å°å ¥ã¯çµæ§ç°¡å.
ã¢ã«ã¦ã³ãç»é²
試ãã¦ã¿ãã ããªã®ã§è¿·ããã¿ãã§ä½¿ãããã©ã³ã§ï¼ã¨è¦ã¦ã¿ãã¨
ãTry Hoptoad FREE for 30 daysãï¼ã試ã30æ¥ç¡æ!ï¼
ãªãã¦åºã¦ã¦ç¡æãã©ã³ãç¡ãã®ãï¼ã¨åéããã¾ãã.
ãã¼ã¼ãè¦ãã¨ä¸ã®æ¹ã«
ãEgg Plan for Freeã(ã¨ãã°ãã©ã³ã¯ç¡æã§ãã)
ã¨å°ããç®ç«ããã«æ¸ãã¦ããã
ãã¨ã¯é©å½ã«å ¥åé ç®ãåãã¦ãã£ã¦ãCreate Accountã
ããã¸ã§ã¯ãç»é²ã¨Railsã®è¨å®
ãã°ã¤ã³ãã¦ããã¸ã§ã¯ãã追å ããã¨ãRailsã¸ã®ã»ããã¢ããæ¹æ³ããããã¦ãã¾ã.
1. Remove your existing Exception Notifier from your ApplicationController(ExceptionNotifiableã使ã£ã¦ãå ´åã¯æ¶ãã¦ã):
class ApplicationController < ActionController::Base <del>include ExceptionNotifiable</del>
2. Add the hoptoad_notifier gem to config/environment.rb(config/environment.rbãã«ãgemãhoptoad_notifierã追å ):
config.gem 'hoptoad_notifier
3. Install the gem(rakeã³ãã³ãã§ã¤ã³ã¹ãã¼ã«):
rake gems:install
4. Unpack the gem(gemãã¢ã³ããã¯ãvendor/plugins以ä¸ã«é ç½®ãããã ããªã®ã§ãããªãã¦ãOK):
rake gems:unpack GEM=hoptoad_notifier
5. Configure the notifier(è¨å®ãã¡ã¤ã«ã®çæ):
script/generate hoptoad --api-key apikey123apikey123apikey123apikey123
6. Look for the exception to appear in your errors list(ä¾å¤ã¯Hoptoadã®ã¨ã©ã¼ãªã¹ããè¦ããã¨è¡¨ç¤ºããããã¼).
æºåãããã§å®äºãã¾ãã. ãã¨ã¯å®éã«éç¥ããããã°Hoptoadã«ã¨ã©ã¼ãªã¹ãã表示ããã¾ã.
ã¨ã©ã¼ãè¦ããããã¹ã
ããã¸ã§ã¯ãã«ã¼ãã§ä»¥ä¸ã®ã³ãã³ããå®è¡
rake hoptoad:test
$ rake hoptoad:test (in /Users/satoruk/Developments/foo) ** [Hoptoad] Notifier 2.3.0 ready to catch errors Configuration: http_open_timeout: 2 proxy_host: nil notifier_url: "http://hoptoadapp.com" port: 80 proxy_user: nil http_read_timeout: 5 api_key: "apikey123apikey123apikey123apikey123" notifier_version: "2.3.0" ignore: ["ActiveRecord::RecordNotFound", "ActionController::Rou development_environments: [] params_filters: ["password", "password_confirmation"] proxy_pass: nil ignore_by_filters: [] secure: false framework: "Rails: 2.3.8" project_root: "/Users/satoruk/Developments/foo" backtrace_filters: [#<Proc:0x00000001017033c8@/opt/local/lib/ruby/gems/1.8 proxy_port: nil ignore_user_agent: [] protocol: "http" host: "hoptoadapp.com" development_lookup: true notifier_name: "Hoptoad Notifier" environment_name: "development" Setting up the Controller. Processing request. Raising 'HoptoadTestingException' to simulate application failure. Sending request to http://hoptoadapp.com/notifier_api/v2/notices/: XMLã®ã³ã¼ããããã㨠** [Hoptoad] Success: Net::HTTPOK ** [Hoptoad] Environment Info: [Ruby: 1.8.7] [Rails: 2.3.8] [Env: development] ** [Hoptoad] Response from Hoptoad: <?xml version="1.0" encoding="UTF-8"?> <notice> <error-id type="integer">1986027</error-id> <url>http://bar.hoptoadapp.com/errors/0000000/notices/00000000</url> <id type="integer">000000</id> </notice> Rendered layouts/_head (2.6ms) Rendered layouts/_groval_header (1.5ms) Rendered layouts/_copyright (0.8ms) Rendered layouts/_footer (7.6ms)
ã£ã§Hoptoadä¸ã§è¦ã¦ã¿ãã¨ã¨ã©ã¼ãã§ã¦ã¾ãã¨.
åã¨ã©ã¼ã¯Unresolvedã¨Resolvedã®ã¹ãã¼ã¿ã¹ãå¤ããããã®ã§ã¨ã©ã¼ã調ã¹çµãã£ããResolvedã«ãã¦ãæãã§ã.
ããã£ãã¨ãã
ãã®ã¾ãã®ã¨ã³ããªã¼ã®エラー処理ã§rescue_action_in_publicãä¸æ¸ããã¦ãã®ã§ãHoptoadãåãã¾ããã§ãã. ã³ã¼ããèªãã¨Hoptoadã¯rescue_action_in_publicãå©ç¨ãã¦ããã®ã§ã以ä¸ã®ãããªåé¿çãå¿ è¦ã§ã.
def rescue_action_in_public(exception) #:doc: unless hoptoad_ignore_user_agent? HoptoadNotifier.notify_or_ignore(exception, hoptoad_request_data) end # ï¼ # ï¼ # ï¼ end
Hoptoadãã¾ã¨ãã«åãã¦ãªãã£ãã¨ãããrake hoptoad:testãã®çµæã«ä»¥ä¸ã®ãããªå 容ãããã¾ã.ã
Raising 'HoptoadTestingException' to simulate application failure.