quilk-js-error-reporting

1.0.3 • Public • Published

quilk-js-error-reporting

A simple lightweight js error reporting tool that will post the error details to the default url of /js-error-reporting.

What you do with the results POST'd to your server is up to you. Store them in a NoSQL db, email the details, send to your install of jira...

How to use

Install npm install quilk-js-error-reporting --save (save to auto include in your package.json file)

Or you also use yarn ;) I here they say it is faster...

Then simply include the script tag in your website.

<script src="<path to node modules>/dist/quilk-js-error-reporting.js" 
        id="quilk-js-error-reporting"
></script>

Example raw php script grabbing the data at the server end:

$data = json_decode(file_get_contents('php://input'), true);

Changing the reporting URL

To change the url reports are sent to, just add the a new attribute data-url eg:

<script src="<path to node modules>/dist/quilk-js-error-reporting.js" 
        id="quilk-js-error-reporting"
        data-url="/some-other-url"
></script>

Adding additional data

You may add even more data to your reports, again with a simple attribute data-extra-json. JSON encode an object/array of data into the attribute, eg:

<script src="<path to node modules>/dist/quilk-js-error-reporting.js" 
        id="quilk-js-error-reporting"
        data-url="/some-other-url"
        data-extra-json='{"this":"is a test of even more data to analyse"}'
></script>

Example data captured and sent:

{
  "extra_data": {"this":"is a test of even more data to analyse"},
  "url": "http:\/\/localhost:63342\/quilk-js-error-reporting\/examples\/index.html?_ijt=nssrlj3c29ih1oek0cslnlmask",
  "messageOrEvent": "Uncaught SyntaxError: Invalid regular expression: missing \/",
  "source": "http:\/\/localhost:63342\/quilk-js-error-reporting\/examples\/example.js",
  "lineno": 2,
  "colno": 9,
  "trace": [
    {
      "fileName": "SyntaxError: Invalid regular expression: missing \/",
      "source": "SyntaxError: Invalid regular expression: missing \/"
    }
  ],
  "browser": {
    "source": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/58.0.3029.81 Safari\/537.36 OPR\/45.0.2552.635",
    "browser": {
      "family": "Opera",
      "major": 45,
      "minor": 0,
      "patch": 2552,
      "name": "Opera 45",
      "version": "45"
    },
    "os": {
      "family": "Linux",
      "major": null,
      "minor": null,
      "patch": null,
      "name": "Linux",
      "version": ""
    },
    "device": {
      "family": "Other",
      "type": "Desktop",
      "manufacturer": null
    }
  },
  "browser_history": {
    
  }
}

Dependencies and thanks..

This package was made possible with detect.js and stacktrace.js.

Package Sidebar

Install

npm i quilk-js-error-reporting

Weekly Downloads

1

Version

1.0.3

License

ISC

Last publish

Collaborators

  • johncarmichael