CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Fri, 15 Aug 2025 22:52:03 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20080514122105
location: https://web.archive.org/web/20080514122105/https://github.com/ryanb/exception_logger/tree/master
server-timing: captures_list;dur=0.860572, exclusion.robots;dur=0.025636, exclusion.robots.policy;dur=0.011614, esindex;dur=0.016063, cdx.remote;dur=143.658040, LoadShardBlock;dur=269.149253, PetaboxLoader3.datanode;dur=67.448450, PetaboxLoader3.resolve;dur=114.226568
x-app-server: wwwb-app212
x-ts: 302
x-tr: 480
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app212; 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 200
server: nginx
date: Fri, 15 Aug 2025 22:52:03 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Wed, 14 May 2008 12:21:05 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 0.70259
x-archive-orig-etag: "9cf20d5c57ee8096f07ae571017fe517"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 17346
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 14 May 2008 12:21:05 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 08 May 2008 23:52:39 GMT", ; rel="prev memento"; datetime="Tue, 13 May 2008 07:25:25 GMT", ; rel="memento"; datetime="Wed, 14 May 2008 12:21:05 GMT", ; rel="next memento"; datetime="Fri, 25 Jul 2008 14:54:15 GMT", ; rel="last memento"; datetime="Tue, 08 Dec 2015 00:03:29 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: 51_3_20080514040648_crawl104-c/51_3_20080514121852_crawl103.arc.gz
server-timing: captures_list;dur=0.970948, exclusion.robots;dur=0.036100, exclusion.robots.policy;dur=0.015385, esindex;dur=0.015985, cdx.remote;dur=10.407930, LoadShardBlock;dur=120.205186, PetaboxLoader3.datanode;dur=73.864523, PetaboxLoader3.resolve;dur=171.142714, load_resource;dur=170.399623
x-app-server: wwwb-app212
x-ts: 200
x-tr: 374
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
ryanb's exception_logger at master — GitHub
Fork of defunkt/exception_logger | |
Clone URL: |
git://github.com/ryanb/exception_logger.git
Give this clone URL to anyone.
git clone git://github.com/ryanb/exception_logger.git
|
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. 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
This feature is coming soon. Sit tight!