CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Fri, 08 Aug 2025 02:03:17 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20091102025704
location: https://web.archive.org/web/20091102025704/https://github.com/defunkt/exception_logger/tree/master
server-timing: captures_list;dur=0.500202, exclusion.robots;dur=0.018110, exclusion.robots.policy;dur=0.009157, esindex;dur=0.010386, cdx.remote;dur=13.751861, LoadShardBlock;dur=225.697933, PetaboxLoader3.datanode;dur=55.524502, PetaboxLoader3.resolve;dur=63.703025
x-app-server: wwwb-app220
x-ts: 302
x-tr: 267
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app220; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Fri, 08 Aug 2025 02:03:18 GMT
content-type: text/html; charset=utf-8
content-length: 108
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Mon, 02 Nov 2009 02:57:04 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20091102025704/https://github.com/defunkt/exception_logger
x-archive-orig-x-runtime: 338ms
x-archive-orig-content-length: 108
x-archive-orig-cache-control: no-cache
cache-control: max-age=1800
memento-datetime: Mon, 02 Nov 2009 02:57:04 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Tue, 05 Feb 2008 16:21:11 GMT", ; rel="prev memento"; datetime="Wed, 26 Aug 2009 20:08:55 GMT", ; rel="memento"; datetime="Mon, 02 Nov 2009 02:57:04 GMT", ; rel="next memento"; datetime="Wed, 30 Mar 2011 05:20:13 GMT", ; rel="last memento"; datetime="Wed, 23 Nov 2022 01:34:35 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: webgroup-20100508023509-00009/ARCHIVEIT-1147-WEEKLY-GSWWXU-20091102025656-00129-crawling04.us.archive.org.warc.gz
server-timing: captures_list;dur=0.502437, exclusion.robots;dur=0.020651, exclusion.robots.policy;dur=0.009540, esindex;dur=0.010056, cdx.remote;dur=16.895056, LoadShardBlock;dur=406.904439, PetaboxLoader3.datanode;dur=79.023130, PetaboxLoader3.resolve;dur=145.797683, load_resource;dur=146.979501
x-app-server: wwwb-app220
x-ts: 301
x-tr: 601
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Fri, 08 Aug 2025 02:03:19 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20091026154938
location: https://web.archive.org/web/20091026154938/https://github.com/defunkt/exception_logger
server-timing: captures_list;dur=0.577169, exclusion.robots;dur=0.021977, exclusion.robots.policy;dur=0.010032, esindex;dur=0.011692, cdx.remote;dur=15.942195, LoadShardBlock;dur=281.404333, PetaboxLoader3.datanode;dur=155.446386, PetaboxLoader3.resolve;dur=121.919118
x-app-server: wwwb-app220
x-ts: 302
x-tr: 322
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Fri, 08 Aug 2025 02:03:20 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Mon, 26 Oct 2009 15:49:38 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "68a4caaa5a8fd4ffcbe55073698724ea"
x-archive-orig-x-runtime: 121ms
x-archive-orig-content-length: 29782
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 26 Oct 2009 15:49:38 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 14 Sep 2008 05:22:53 GMT", ; rel="prev memento"; datetime="Thu, 24 Sep 2009 19:10:54 GMT", ; rel="memento"; datetime="Mon, 26 Oct 2009 15:49:38 GMT", ; rel="next memento"; datetime="Tue, 01 Dec 2009 19:27:38 GMT", ; rel="last memento"; datetime="Fri, 23 May 2025 10:48:34 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: ARCHIVEIT-1147-WEEKLY-AVVNXU-20091026-00001/ARCHIVEIT-1147-WEEKLY-AVVNXU-20091026154748-00433-crawling105.us.archive.org.warc.gz
server-timing: captures_list;dur=0.426784, exclusion.robots;dur=0.014912, exclusion.robots.policy;dur=0.007236, esindex;dur=0.009162, cdx.remote;dur=191.034377, LoadShardBlock;dur=498.538215, PetaboxLoader3.datanode;dur=267.665219, PetaboxLoader3.resolve;dur=354.055403, load_resource;dur=242.028318
x-app-server: wwwb-app220
x-ts: 200
x-tr: 1000
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
defunkt's exception_logger at master - GitHub
Hi! defunkt is using GitHub to share code with you!
But GitHub is more than just a place to share code. It's a place to keep tabs on your favorite developers and projects, easily contribute fixes and new features, and visualize what's going on inside your codebase!
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | edit |
Homepage: | edit |
Public Clone URL: |
git://github.com/defunkt/exception_logger.git
Give this clone URL to anyone.
git clone git://github.com/defunkt/exception_logger.git
|
Your Clone URL: |
Use this clone URL yourself.
git clone git@github.com:defunkt/exception_logger.git
|

Jason Knight (author)
Thu May 15 10:17:11 -0700 2008
README
ExceptionLogger =============== The Exception Logger (forgive the horrible name) logs your Rails exceptions in the database and provides a funky web interface to manage them. First you need to generate the migration: ./script/generate exception_migration Next, you'll need to include the ExceptionLoggable module into ApplicationController. Once that's done you might want to modify key methods to customize the logging: render_404(exception) - Shows the 404 template. render_500(exception) - Shows the 500 template. log_exception(exception) - Logs the actual exception in the database. rescue_action_in_public(exception) - Does not log these exceptions: ActiveRecord::RecordNotFound, ActionController::UnknownController, ActionController::UnknownAction Now add a new route to your routes.rb: map.connect "logged_exceptions/:action/:id", :controller => "logged_exceptions" After that, visit /logged_exceptions in your application to manage the exceptions. Once you have done that, open up the vendor/plugins/init.rb file and choose your pagination, supported options are will_paginate, paginating_find, and simple mysql based pagination (Uses LIMIT) The current default is none. To use the other options you need to uncomment the $PAGINATION_TYPE line and the require for that pagination, you should comment out what you won't use etc... It's understandable that you may want to require authentication. Add this to your config/environments/production.rb: # config/environments/production.rb config.after_initialize do require 'application' unless Object.const_defined?(:ApplicationController) LoggedExceptionsController.class_eval do # set the same session key as the app session :session_key => '_beast_session_id' # include any custom auth modules you need include AuthenticationSystem before_filter :login_required # optional, sets the application name for the rss feeds self.application_name = "Beast" protected # only allow admins # this obviously depends on how your auth system works def authorized? current_user.is_a?(Admin) end # assume app's login required doesn't use http basic def login_required_with_basic respond_to do |accepts| # alias_method_chain will alias the app's login_required to login_required_without_basic accepts.html { login_required_without_basic } # access_denied_with_basic_auth is defined in LoggedExceptionsController # get_auth_data returns back the user/password pair accepts.rss do access_denied_with_basic_auth unless self.current_user = User.authenticate(*get_auth_data) end end end alias_method_chain :login_required, :basic end end The exact code of course depends on the specific needs of your application. CREDITS Jamis Buck - original exception_notification plugin Rick Olson - model/controller code Josh Goebel - design Jason Knight - Pagination support, built on/inspired by Ryanb's willpaginate support.
This feature is coming soon. Sit tight!