While Errorception has given you some control over error posting since a very long time, this has at best been very coarse-grained. Now, that gets fixed.
You now have full programmatic control over which errors get posted to Errorception. You just have to define _errs.allow
to be a function that returns true
or false
. Examples are the best way to demonstrate this, so here goes:
To ignore all errors from say IE6:
_errs.allow = function() {
return (navigator.userAgent.indexOf("MSIE 6") == -1);
}
To only allow errors from yourdomain.com and its subdomains:
_errs.allow = function() {
return (location.hostname.indexOf("yourdomain.com") != -1);
}
You also get the error that's about to be posted as an argument in this function. The error is represented as an object with three properties: the error message, the line number and the script-source URL of the error. So, to ignore all errors that are from ad-script.js.
_errs.allow = function(err) {
return (err.url.indexOf("ad-script.js") != -1);
}
On a side note, this indexOf
and -1
business above is so ugly! String.prototype.contains
can't come soon enough!
This was a fun feature to build, especially because of a very interesting corner-case. All of this has been well documented, so give the docs a look. It's very interesting how Errorception uses itself to log errors encountered in this edge-case in a way that doesn't cause the world to implode.