Calling all developers worldwide! We built an open source, MIT Licensed, free to use, remote error reporting tool that can do amazing things! Among it’s many features are: RESTful API, Open Source, Platform Agnostic ( read: independant ) and more… If all this sounds like music in your ears, and you’re interested in joining our ß-program, please register at www.failtale.be.



What does “Remote Error Reporting” even mean? Let’s say you have new application ready to be deployed on your client’s server. Everything runs great on your own server, but once it’s copied to the production server, things start to go wrong. Maybe it’s just an image folder without the right permissions, a wrong version of a beloved Gem, or a file that got misplaced. You ask your wonderful client for access to the error logs but they go “Ehrmmmm, error what?”. This is were Failtale can be one hell of a tool.
Wouldn’t it be great if you could insert a little code snippet in your code that reports errors to you? Without having access to logs, ssh accounts and what not.
How does this all work? All you need to do is:
- Sign up to get an API key for your application. An API key is nothing more than a long, random string that identifies your application. Failtale needs this key in order to be able to log errors to the relevant application.
- Download one of the libraries and integrate it with your project
( please write your own if you can’t find one for your language )With Actionscript, it looks like this:
// create your own API key on www.failtale.be public static const FAILTALE_API_KEY : String = "your-api-key-goes-here"; public static const FAILTALE_GATEWAY : String = "http://failtale.be"; private var failtale : Failtale; private function initFailtale () : void { failtale = Failtale.getInstance(); failtale.init( FAILTALE_GATEWAY, FAILTALE_API_KEY ); } // what follows is a poor example probably // you shouldn't track every single error or become a lazy coder private function triggerError ( e : Event ) : void { // try to remove a dummy instance from the displaylist try { removeChild( dummy ); } catch( error : Error ) { // removing dummy failed ( e.g. it was not added to the displaylist ) // let Failtale know about it var fm : FailtaleModel = new FailtaleModel(); fm.comment = commentInput.text; fm.error = error; fm.arguments = arguments; failtale.log( fm ); } }
This example will generate a simple error report. Following screenshot shows 1 of 3 screens you can use when debugging your application.

- Check your Failtale account the next time your client calls you about this exotic bug and you’ll find a nicely formatted error report right in front of your nose. No SSH sessions, no remote logins required. All done with a library, a code snippet and a Failtale account.
We’ve allready written ( and released ) 2 libraries ( Ruby and AS3 ) and a third one ( Javascript ) to integrate with one of your projects, is on it’s way. We sure could use one for Perl, Python, PHP, …
We appreciate any kind of feedback, code contributions, suggestions, anger, love, …
[...] This post was mentioned on Twitter by Mr. Henry, Hans Spooren and webdevotion, Failtale.be. Failtale.be said: New post about our new error reporting app: @failtale. http://bit.ly/bFooE7 #ruby #rails #flash #flex #as3 #javascript (via @wearemrhenry) [...]
This sounds very promising!
I tried to install FailTale from Git on my server but passenger throws an error. Is there an installation tutorial, what’s required in order to run FailTale on my own server?
Thx
Tini
Hi Tini,
can you be more specific about the error Passenger is giving you? Currently there’s not a written tutorial. Basically when all the required gems are installed it should run.
Hi Yves and thanks for your help.
I installed the following gems as in environments.rb:
factory_girl
shoulda
authlogic
railsgarden-message_block
haml
will_paginate
campaigning
Then I ran rake db:migrate when I realized that I had to install the “cucumber”-gem. DB-migration then completed without errors.
Here’s a screenshot of the passenger error:
http://twitpic.com/2bi6hb
Greetings
Tini
Hi Yves (i post it here for other people having the same issue).
Things changed after I installed the bundler-gem (v=0.9.26) and an older version of the will_paginate-gem (v=2.3.12, had v=2.3.14 installed).
Now the app is running
Very nice.
Mh, but how do I log in, is there an admin-account?
Do I have to load some default data into db?
Thank you very much
Tini
Great!
Try “rake db:seed” for initial data
Mh, nothing happens, the tables are still empty.
Here’s the output:
Loaded suite /usr/bin/rake
Started
Finished in 0.000491 seconds.
0 tests, 0 assertions, 0 failures, 0 errors