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 => "[email protected]", :password => "******" } config.middleware.use ExceptionNotifier, :email_prefix => "[fgcc程序发生异常]", :sender_address => %{"异常通知" <[email protected]>}, :exception_recipients => %w{[email protected]}
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
时间: 2024-08-29 23:39:29