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 => "[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

Rails 异常处理 &amp;&amp; 性能的相关文章

Rails 异常处理

### Rails 异常处理 的多种处理方法 1.  routes match '*path', via: :all, to: 'controller#action' 2.  application.rb 的 exception_app ```ruby # application.rb config.exceptions_app = ->(env) { ExceptionController.action(:show).call(env) } config.action_dispatch.res

Spring MVC 系统异常处理方式及性能对比

大部分公司所用的Spring框架版本是3.1版本以下,所以今天暂时总结3.1版本的Spring-MVC异常处理方式. 一.Spring MVC处理异常有3种方式: (1)使用Spring-MVC提供的SimpleMappingExceptionResolver: (2)实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器: (3)使用@ExceptionHandler注解实现异常处理: 二.分别介绍这三种异常处理的实现方式: (1)使用Simpl

JAVA 异常对于性能的影响

陶炳哲 - MAY 12, 2015 在对OneAPM的客户做技术支持时,我们常常会看到很多客户根本没意识到的异常.在消除了这些异常之后,代码运行速度与以前相比大幅提升.这让我们产生一种猜测,就是在代码里面使用异常会带来显著的性能开销.因为异常是错误情况处理的重要组成部分,摒弃是不太可能的,所以我们需要衡量异常处理对于性能影响,我们可以通过一个实验看看异常处理的对于性能的影响. 实验 我的实验基于一段随机抛出异常的简单代码.从科学的角度,这并非完全准确的测量,同时我也并不了解HotSpot 编译

Java程序性能优化-概述

前言 这两天在看<Java程序性能优化>这本书,将我学到的书上好的东西分享给大家.做过开发的人应该或多或少都碰到过性能问题,遇到性能问题你是怎么做的呢?你能看懂程序的性能吗?本篇给大家讲下如何看懂程序的性能及性能的参考指标. 正题 程序性能的表现方式: 1.执行速度:程序的反映是否迅速,响应时间是否足够短. 执行速度可以受到多方面的影响,比如逻辑写的有问题,查询数据量大,网络问题等等. 2.内存分配:内存分配是否合理,是否过多地消耗内存或者存在泄漏. 要根据程序的运行情况及服务器内存大小合理分

深入了解 Java 中的异常处理 + 面试题

# 深入了解 Java 中的异常处理 + 面试题 在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点.比如,try-catch 处理要遵循的原则是什么,finally 为什么总是能执行,try-catch 为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的答案,当然还有面试中经常被问到的异常模块的一些面试题,也是我们本篇要讲解的重点内容. 异常处理基础介绍 先来看看异常处理的语法格式: try{ ... } catch(Exception e){

软件工程—理论、方法与实践

第一章  概述 软件是计算机程序.规程以及计算机系统可能需要的相关文档和数据. 软件一般分为通用和定制软件. 软件的特性: 1.软件是复杂的: 2.软件是不可见的: 3.软件是不断变化的: 4.大多数软件是定制的,而不是通过已有的构件组装的. 软件工程师为了经济的获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则. 软件危机 1.软件开发的成本和进度难以进行准确估计,延迟交付甚至取消项目的现象屡见不鲜: 2.软件存在着错误多.性能低.不可靠.不安全等质量问题: 3.软件成本

软件工程理论、方法与实践(第九章)

软件实现 软件实现包括代码设计.设计审查.代码编写.代码走查.代码编译和单元测试等基本活动.一般情况下,高级语言明显优于机器语言和汇编语言,采用高级语言有利于产生可读性强.易测试和易维护的程序代码.用什么语言我们要根据实际情况灵活选择.另外我们要遵循软件编码规范,包括:文件命名与组织.代码的板式(适当的空行.代码行及行内空格.分行.对齐与缩进.命名规则.声明.注释).我们要尽量避免以下问题:程序注释问题.变量命名问题.内存异常问题.异常处理问题.性能问题.最后还要通过软件代码审查.

软件工程概论第九章

软件实现 软件的实现离不开编程语言 选择编程语言要注意到 软件的应用领域,用户的要求,系统兼容,可移植性,开发环境等. 编码离不开编程规范,首先要注意文件的命名与组织,代码的版式,其中版式要注意有1 适当的换行 2代码行及行内空格 3分行 对其和缩进,4还要注意命名规则 声明和注释. 文章还介绍软件编码实例分析,主要的问题有程序注释问题,变量命名问题,内存异常问题其中内存异常问题要注意内存泄漏问题,指针参数问题,野指针问题等. 除此之外还要注意异常处理问题,性能问题等 除了编码之外还有对软件代码

《软件工程》第九章随笔

软件实现是软件产品由概念到实体的一个关键过程.代码设计—>设计审查—>代码编写—>代码走查—>代码编译—>单元测试. 之后主要讲解了程序设计语言的发展经历和高级程序语言的优越性.程序语言的选择可由一下几个标准来判断:应用领域,用户要求,系统兼容,可移植性,开发环境.又介绍了一些软件编码的规范,分别列举了一些可能出现的问题,如异常处理问题,性能问题,内存异常问题.