public
Description: A log server for application errors based on Sinatra and Tokyo Tyrant.
Homepage: http://aktagon.com/projects/ruby/gulag
Clone URL: git://github.com/christianhellsten/gulag.git
gulag /
name age message
file .gitignore Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
file README.textile Thu Jul 02 05:18:33 -0700 2009 cleanup docs... [christianhellsten]
directory app/ Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
file config.ru Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
file gulag.rb Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
directory public/ Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
directory scripts/ Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
submodule sinatra - 1a0bdae Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
directory spec/ Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
directory views/ Thu Jul 02 02:55:37 -0700 2009 first commit [christianhellsten]
README.textile

Gulag – A prison camp for application errors

Gulag is a log server for application errors. Gulag has a REST API.

How does it work?

GulagLogger, a Rails plugin, captures errors such as exceptions and slow database queries/requests and sends the details to Gulag.

Let me demonstrate:

Application error -> Gulag REST API (HTTP/HTTPs) -> Gulag data store (Tokyo Tyrant)

You, the administrator, can login to the dashboard and view and delete the errors:

Administrator -> Gulag dashboard -> Gulag data store (Tokyo Tyrant)

Why write something like this?

To capture application errors and experiment with Tokyo Cabinet and Sinatra.

What about Hoptoad and GetExceptional

Yeah, I know.

Status

Beta software. Works fine until you break it.

TODO

  1. More tests
  2. Review design
  3. ABCDEF