Lester
“I keep asking myself... Who could have done a thing like this?”
— Lester Nygaard, Fargo S01
Usage
You must initialize either TrackJS or Sentry on the page before calling any of the capture/logging functions, e.g:
Multiple Instances
It is possible to use multiple instances within a single web page, each using whichever backend you prefer. For example:
const lester1 = backend: LesterTRACKJS;const lester2 = backend: LesterSENTRY;
This way you can incrementally update code to use Lester and whichever backend you prefer.
API Reference
Lester
Creates a new Lester instance, allowing you to pass in options.
const lester = backend: 'auto';
Options
Name | Description | Default |
---|---|---|
backend |
Backend to use. Set to 'sentry' or 'trackjs' to disable autodetection. |
'auto' |
capture
lester;
Mapping
TrackJS | Sentry |
---|---|
trackJs.track |
raven.captureException |
attempt
lester.attempt
allows you to wrap any function to be immediately executed. Behind the scenes, Lester is just wrapping your code in a try...catch
block to record the exception before re-throwing it.
lester;
Mapping
TrackJS | Sentry |
---|---|
trackJs.attempt |
raven.context |
wrap
lester.wrap
wraps a function in a similar way to lester.context
, but instead of executing the function, it returns a new function.
var myFunction = lester;
Mapping
TrackJS | Sentry |
---|---|
trackJs.watch |
raven.wrap |
wrapAll
lester.wrapAll
wraps all functions within a given object.
lester.wrapAll(myModel);lester.wrapAll(new Model());
Mapping
TrackJS | Sentry |
---|---|
trackJs.watchAll |
raven.wrap for each item |
log
Log data to the console.
lester;
Mapping
TrackJS | Sentry |
---|---|
trackJs.console.log |
raven.captureMessage |
set
Set additional metadata to be logged with errors.
lester;lester;
Mapping
TrackJS | Sentry |
---|---|
trackJs.addMetadata |
raven.setExtraContext |