`
xxj
  • 浏览: 426555 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[Rails 常用插件简介] Exception Logger

阅读更多
你是如何处理你的Exception呢?在使用Exception Notifier(http://mmm.iteye.com/blog/116862)么?

今天来介绍另外一个Exception Logger。

0:Exception Logger 是什么
顾名思义,就是记录你的exception。保存在数据库中,并且提供可视化的界面。

1:先来瞅瞅她是什么样的


左边是exceptions的列表,右边是filte

可以通过:exception的类型,所在的controller和时间来筛选。并且还提供了一个查询和RSS。

点击exception的名称可以看到详细的 Request Backtrace Environment,如果你以前用过Exception Notifier,这些应该很熟悉的了。

2:使用
安装插件
ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/exception_logger


注:这玩意用了古老的paginate,如果你不想动手修改,那么请安装classic_pagination
ruby script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination 


在applicatin.rb中增加如下的代码
  include ExceptionLoggable


新增route
map.exceptions '/logged_exceptions/:action/:id', :controller => 'logged_exceptions', :action => 'index', :id => nil

生成migrate
ruby script/generate exception_migration


创建表结构
rake db:migrate


这就可以了,运行看下效果。

其他的你按照他自带的README 继续折腾就可以了。

3:继续折腾
也许你和我一样,并不愿意使用已经被DEPRECATED的的paginate,想动手修改下,直接能在will_paginate下运行的程序,好,有此想法我们继续,如果没有,那就此打住吧。

首先,确认安装了will_paginate
ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate


介绍见这里
http://errtheblog.com/posts/56-im-paginating-again
和我以前写过的
http://mmm.iteye.com/blog/116931

修改/vendor/plugins/exception_logger/lib/logged_exceptions_controller.rb 第35行的代码
把原来分页的代码改成
 @exceptions = LoggedException.paginate

并且新增:page参数,完整代码如下
    @exceptions = LoggedException.paginate \
            :order => 'created_at desc',
            :per_page => 30,
            :page=>params[:page]||1,
            :conditions => conditions.empty? ? nil : parameters.unshift(conditions * ' and ')



修改/vendor/plugins/exception_logger/views/logged_exceptions/_exceptions.rhtml
把上面和下面<div class="pages">里面的内容改成
    <div class="pages">
        <%= will_paginate @exceptions%>
    </div>


好了,保存执行下看下效果。

4:还有吗?
等等,当我exception超过一页的时候,及超过30条的时候,点下一页没有了原来的效果,不再是ajax加载了,而是刷新整个页面的了。哦,对,我们需要在will_paginate上增加link_to_remote的效果,还好,这东西,老早就折腾过了,见这里:ajax_paginate
http://mmm.iteye.com/blog/121410,这个是我以前折腾的,正好拿来用用:)

安装
ruby script/plugin install http://ajaxpaginate.googlecode.com/svn/trunk/ajax_paginate


再将原来的will_paginate替换成ajax_paginate就可以了:)
    <div class="pages">
        <%= ajax_paginate @exceptions, :before => %(Element.show('activity')), :success => %(Element.hide('activity')) %>
    </div>


如果你愿意的话,可以再加上will_paginate推荐的那一驼CSS。收工了


5:你不想修改,还是想使用,怎么办
哦,那我来帮你做吧,请直接安装
ruby script/plugin install http://martinx.googlecode.com/svn/trunk/plugins/exception_logger



相关Blog(手工关联?? ):
[Rails 常用插件简介]ajax_paginate
http://mmm.iteye.com/blog/121410

[Rails 常用插件简介]will_paginate
http://mmm.iteye.com/blog/116931

[Rails 常用插件简介]Exception Notifier   
http://mmm.iteye.com/blog/116862
分享到:
评论
2 楼 xu_wccq 2008-02-22  
                                    
小顶一下下
1 楼 zzname 2008-01-22  
如何删掉自己的回复

相关推荐

    [Rails 常用插件简介]CRUD Generator 2

    **Rails 常用插件简介 - CRUD Generator 2** 在Ruby on Rails框架中,开发过程中经常需要创建、读取、更新和删除(CRUD)数据。为了提高开发效率,开发者通常会使用各种插件来自动化这个过程。CRUD Generator 2就是...

    ruby on rails 常用插件下载

    在这个“ruby on rails 常用插件下载”中,提到的是一个与多线程相关的插件,可能用于提高应用程序的性能和并发处理能力。 在 Ruby on Rails 中,多线程是一种处理并发请求的方式,尤其在现代硬件支持多核处理器的...

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器.zip

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...

    VIM的Rails编辑插件rails.vim.zip

    rails.vim提供了常用的一些命令,可以帮助开发,例如:Rgenerate, Rake, Rfind,RTview等,很方便,也很实用。 安装方法: 拷贝 autoload/rails.vim, plugin/rails.vim, 和 doc/rails.txt 到 ~/.vim 目录. ...

    Ruby on Rails插件

    Ruby on Rails插件是Rails框架的核心扩展机制,用于弥补Rails本身功能的不足,提供开发者所需的额外特性或功能。Rails插件允许开发人员自定义和增强Rails的任何部分,并且能够以封装和重用的方式与其他开发者共享。...

    eclipse的ruby on rails开发插件RadRails

    **Ruby on Rails 开发环境构建:Eclipse与RadRails 插件详解** 在现代软件开发领域,Ruby on Rails(简称Rails)作为一个强大的Web应用程序框架,因其简洁、高效的特性深受开发者喜爱。而Eclipse,作为一款功能强大...

    rails 2.0.2 分页 需另外下载插件

    这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`是Rails社区中非常流行的一个分页解决方案,它提供了简洁的API和强大的功能...

    关于Rails登录和验证插件http_authentication restful-authentication

    6. **Rakefile和init.rb**: Rakefile用于定义任务,如安装或更新插件,而init.rb是Rails初始化脚本,负责加载插件。 7. **版本控制(.svn)**: 这个文件可能表示插件曾使用Subversion作为版本控制系统。现代项目更...

    Rails3常用命令行命令

    在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个Rails项目是开发的起点。你可以使用以下命令创建一个新的工程: ```bash rails new 工程名 ``` 这会生成一个包含所有...

    rails2.3.2 ExceptionNotifier 配置

    标题 "rails2.3.2 ExceptionNotifier 配置" 指的是在Rails 2.3.2版本中,如何设置和使用ExceptionNotifier插件。ExceptionNotifier是Rails的一个非常有用的gem,它允许开发者在应用程序中捕获并通知异常情况,如错误...

    Rails插件收集

    在博文“Rails插件收集”中,作者可能分享了一些常用的Rails插件,比如用于日志分析的`better_errors`和`binding_of_caller`,性能监控的`bullet`,自动化测试的`rspec-rails`,以及数据库查询优化工具`annotate`等...

    常用RAILS学习网站

    收集了常用RAILS学习的网址 收集了常用RAILS学习的网址

Global site tag (gtag.js) - Google Analytics