首页 > 代码库 > Rails 异常处理 && 性能

Rails 异常处理 && 性能


Rails 异常处理 的多种处理方法 



1.  routes match ‘*path‘, via: :all, to: ‘controller#action‘



2.  application.rb 的 exception_app

    # application.rb
    config.exceptions_app = ->(env) { ExceptionController.action(:show).call(env) }
    config.action_dispatch.rescue_responses["ActionController::RoutingError"] = :not_found
    config.action_dispatch.rescue_responses["ActionController::BadRequest"] = :bad_request




3.  exception_notification config/environments/ 

  #异常邮件通知
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => "smtp.163.com",
    :port => 25,
    :domain => "163.com",
    :authentication => :login,
    :user_name => "exceptionnotifier@163.com",
    :password => "******"
  }
  config.middleware.use ExceptionNotifier,
    :email_prefix => "[fgcc程序发生异常]",
    :sender_address => %{"异常通知" <ExceptionNotifier@163.com>},
    :exception_recipients => %w{menxu@funguide.com.cn}






4.  Slack & exception_notification

    # Gemfile
    # Slack api 封装
    gem 'slack-notifier'
    # 异常监控
    gem 'exception_notification'


ruby 文件性能分析


profiler



Web 项目日志分析request-log-analyzer

gem install request-log-analyzer 

request-log-analyzer log/file.log

技术分享
Snip20151208_2.png


代码分析 gem rubycritic

技术分享







rubocop

Rails 异常处理 &amp;&amp; 性能