Git Product home page Git Product logo

bugsnag / bugsnag-node Goto Github PK

View Code? Open in Web Editor NEW
48.0 28.0 55.0 429 KB

[DEPRECATED] Please upgrade to our Universal JS notifier "@bugsnag/js" • https://github.com/bugsnag/bugsnag-js

Home Page: https://www.bugsnag.com/

License: MIT License

JavaScript 100.00%
bugsnag node-js error-monitoring error-reporting error-handling crash-reporting crash-reporting-tool debug debugging debugging-tool

bugsnag-node's Introduction

Deprecation notice

We upgraded our Node support in the latest all-in-one javascript notifier package. Check out the blog post for more info.

All projects should upgrade to our universal JS notifier: @bugsnag/js. See the upgrade guide for details on how to upgrade.

This package is now deprecated, but will continue to exist on the npm registry and work with Bugsnag's API for the foreseeable future. However, it will no longer receive updates unless they are critical.

Please upgrade at your earliest convenience.


Bugsnag error reporter for Node.js

Build Status

Automatically detect synchronous and asynchronous errors in your Node.js apps, collect diagnostic information, and receive notifications immediately.

Learn more about error reporting with Bugsnag.

Features

  • Automatically report synchronous and asynchronous errors
  • Report handled errors
  • Attach user information to determine how many people are affected by a crash
  • Send customized diagnostic data

Getting started

  1. Create a Bugsnag account
  2. Complete the instructions in the integration guide for your framework:
  3. Relax!

Support

Contributing

All contributors are welcome! For information on how to build, test and release bugsnag-node, see our contributing guide.

License

The Bugsnag error reporter for Node.js is free software released under the MIT License. See LICENSE.txt for details.

bugsnag-node's People

Contributors

amrocha avatar arkadyan avatar bengourley avatar bromanko avatar bullmo avatar cawllec avatar conradirwin avatar danjenkins avatar darkertv avatar decklin avatar dpolivy avatar dtaniwaki avatar fractalwrench avatar gracecheung avatar jacobwgillespie avatar jakubpawlowicz avatar jessicard avatar jmshal avatar jonathansamines avatar jylauril avatar kattrali avatar keeganlow avatar kjg avatar loopj avatar omnidan avatar paton avatar primitive-type avatar snmaynard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bugsnag-node's Issues

Cannot set property 'strictMode' of undefined

TypeError: Cannot set property 'strictMode' of undefined
    at /app/node_modules/bugsnag/lib/utils.js:62:31
    at Array.forEach (native)
    at Object.Utils.cloneObject (/app/node_modules/bugsnag/lib/utils.js:51:26)
    at /app/node_modules/bugsnag/lib/utils.js:57:43
    at Array.forEach (native)
    at Object.Utils.cloneObject (/app/node_modules/bugsnag/lib/utils.js:51:26)
    at /app/node_modules/bugsnag/lib/utils.js:57:43
    at Array.forEach (native)
    at Object.Utils.cloneObject (/app/node_modules/bugsnag/lib/utils.js:51:26)
    at new Notification (/app/node_modules/bugsnag/lib/notification.js:23:31)
    at Object.Bugsnag.notify (/app/node_modules/bugsnag/lib/bugsnag.js:101:20)
    at Bugsnag.errorHandler (/app/node_modules/bugsnag/lib/bugsnag.js:108:13)
    at Layer.handle_error (/app/node_modules/express/lib/router/layer.js:58:5)
    at trim_prefix (/app/node_modules/express/lib/router/index.js:300:13)
    at /app/node_modules/express/lib/router/index.js:270:7
    at Function.proto.process_params (/app/node_modules/express/lib/router/index.js:321:12)
    at next (/app/node_modules/express/lib/router/index.js:261:10)
    at /app/node_modules/express/lib/router/index.js:603:15
    at next (/app/node_modules/express/lib/router/index.js:246:14)
    at next (/app/node_modules/express/lib/router/route.js:100:14)
    at ...

requestData is undefined with `POST` requests

With POST requests, bugsnag.requestData becomes undefined :/ Normal?
I have this error: Cannot set property 'user' of undefined. My node version is 7.9.0

console.log(req.method, bugsnag.requestData === undefined, req.user._id)
capture d ecran 2017-05-03 a 22 36 42

notify() not working

I am using [email protected].
When I run the following code,

bugsnag.notify(new Error("Non-fatal"), {
  test: {
    testapp: "testapp",
    testuser: "testuser",
    testemail: "[email protected]"
  }
}, function(err, result){
  if (err){
  console.log("err: " + err);
  }
  console.log("result: " + result);
});

I get:

err: null
result: OK

However, when I checked the admin page, there was no notification.
I tried something similar using bugsnap Python library and that worked perfectly.
It seems to be a problem with bugsnag-node.
Could you check on that?

No way of telling when a notification has been sent

I didn't want the bugsnag module to be in control of my exceptions (as we have other processes in operation for dealing with them in a particular way)

As a result of this I call bugsnag.notify(err) myself within my existing process uncaughtException codebase.

However, if I allow my app to die straight away after the uncaughtException (using process.exit(1)) then the notification is never sent properly.

I'm having to do a setTimeout to allow it enough time to complete.

Seems like notity and notifyWithClass could do with a callback parameter, ie:

bugsnag.notify(err, function(err, res){

})

bugsnag.notify(err, {}, function(err, res){

})

Then I'd know when the communication with bugsnag has completed.

Seems like it would be a good addition

Version Number was not changed for PR recently merged

Hi,

I raised a PR a few days ago that was just merged this morning.

Problem is that when trying to fetch the latest from NPM, it doesn't fetch the fix recently merged: I believe this is because the change hasn't been pushed to NPM itself, only to Github (see http://stackoverflow.com/a/23348036)

Is that possible for you guys to bump up the version of the package?

I am asking that because I am currently using the winston-bugsnag package for my project, which is still pointing to bugsnag 1.6.5 which is failing for me.

Thanks guys!

Exposing middlewares as factories

I just was wonder if it was possible to expose the bugsnag middleware handler functions as factories. Basically the change would imply to use the middlewares by calling a function:

    const express = require('express');
    const bugsnag = require('bugsnag');
    const app = express();

    app.use(bugsnag.requestHandler(options));
    app.use(bugsnag.errorHandler(options));

The change seems quite simple, but would help to use this module along with modules like https://github.com/krakenjs/meddleware and generally load middlewares by just using configuration. That change would require to also try to register the bugsnag middleware along with each of the handlers.

requestData does not work

bugsnag.requestData = { userId: myUserObj.id, user: myUserObj };

This code does not work, on bugsnag the Tab custom is empty and New tab says:
image
Which is exactly what I'm doing.

Unhandled exception in payload delivery

due to some dependency mess in the request module, the error reporting has been failing for us for months .. here is the stack trace

ErrorCannot find module './_stream_duplex'
module.js:327:15Module._resolveFilename
module.js:264:25Module._load
module.js:356:17require
module.js:375:17require
node_modules\bugsnag\node_modules\request\node_modules\bl\node_modules\readable-stream\lib\_stream_writable.js:122:16Writable
node_modules\bugsnag\node_modules\request\node_modules\bl\node_modules\readable-stream\lib\_stream_duplex.js:58:12Duplex
node_modules\bugsnag\node_modules\request\node_modules\bl\bl.js:36:16new BufferList
node_modules\bugsnag\node_modules\request\node_modules\bl\bl.js:6:12BufferList
node_modules\bugsnag\node_modules\request\request.js:1195:20onRequestResponse
events.js:75:13emitOne
events.js:150:7emit
_http_client.js:397:21parserOnIncomingClient [as onIncoming]
_http_common.js:88:23parserOnHeadersComplete
_http_client.js:287:20socketOnData
events.js:75:13emitOne
events.js:150:7emit
_stream_readable.js:146:16readableAddChunk
_stream_readable.js:109:10Readable.push
net.js:510:20onread

400 RangeError: Maximum Call Stack size exceeded

I get this when uploading A file using POST request.

Using latest Express.js


var express = require('express')
    , routes = require('./routes')
    , http = require('http')
    , path = require('path')
    , mongoose = require('mongoose')
    , MongoStore = require('connect-mongo')(express)
    , mailer = require('nodemailer')

var bugsnag = require("bugsnag");
bugsnag.register("My API Code")

var app = exports.app = express();

// all environments
app.enable('trust proxy');
app.set('port', process.env.PORT || 3000); // Port
app.set('views', __dirname + '/views');
app.set('view engine', 'jade'); // Templating engine
app.set('view cache', true); // Cache views
app.set('app version', '0.0.2'); // App version
app.locals.pretty = process.env.NODE_ENV != 'production' // Pretty HTML outside production mode

app.use(bugsnag.requestHandler); // UnCommenting this line causes RangeError
app.use(express.logger('dev')); // Pretty log
app.use(express.limit('25mb')); // File upload limit
app.use("/", express.static(path.join(__dirname, 'public'))); // serve static files
app.use(express.bodyParser()); // Parse the request body
app.use(express.cookieParser()); // Parse cookies from header
app.use(express.methodOverride());
app.use(express.session({ // Session store
    secret: "mysecret",
    store: sessionStore,
    cookie: {
        maxAge: 604800000 // 7 days in s * 10^3
    }
}));
app.use(express.csrf()); // csrf protection

// development only
if ('development' == app.get('env')) {
    app.use(express.errorHandler()); // Let xpress handle errors
    app.set('view cache', false); // Tell Jade not to cache views
}

var server = http.createServer(app)
server.listen(app.get('port'), function(){
    console.log('Express server listening on port ' + app.get('port'));
});

// routes
//routes.router(app);

app.use(bugsnag.errorHandler);

Am I doing something wrong?

Bugsnag handlers errors even though it shouldn't

I checked out the source code, debugged it, and this block never executes.

I want bugsnag to function during normal mode, however during testing i want it to ignore any exceptions.. Config code:

bugsnag.register('key', {
    notifyReleaseStages: ["production"],
    releaseStage: 'testing',
    autoNotify: false,
    onUncaughtError: function (err) {
        console.log(err);
    }
});

However, bugsnag keeps on capturing exceptions, even though it never itself registers for the uncaught exception process.on("uncaughtException" ...).

How is this possible?

Question: Can this be used for an isomorphic app?

We are building a react app that runs on the server and the client. Just wondering if this package is able to be run in the browser? Or if not do you have any recommendations for how that could be achieved.

Thanks for your time to help me out.

require('bugsnag') should work with node cli

This shouldn't happen:

# node
> require('bugsnag');
TypeError: Cannot read property 'filename' of undefined
    at Object.<anonymous> (/srv/code/current/node_modules/bugsnag/lib/configuration.js:17:56)
    at Object.<anonymous> (/srv/code/current/node_modules/bugsnag/lib/configuration.js:81:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/srv/code/current/node_modules/bugsnag/lib/bugsnag.js:12:17)
    at Module._compile (module.js:456:26)

It doesn't seem like the notify callback has any arguments

The documentation says: "The callback has two arguments, err and response. The err argument will contain any error received when trying to send the notification, the response object will contain the response received from Bugsnag"

However when i provide a callback I the arguments are empty.

bugsnag.notify(error, meta, function() {console.log('done', arguments)});

Output: done {}

Critical issue with filters

Hi gang,

You have a pretty serious issue right here:

https://github.com/bugsnag/bugsnag-node/blob/master/lib/utils.js#L111

The issue here is that you're going to clobber data in the app using bugsnag-node. What you're doing there is an object reference lookup on the object belonging to the main app then modifying the data in that object. If the object going to bugsnag happens to be, say, a global singleton holding route definitions, and one of the routes is, for example, password, you will replace the entire object route definition with the string '[FILTERED]'. In the client app. Javascript is very much pass-by-reference when it comes to objects. I would suggest using something like this

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

instead, copying the object FIRST, then passing that copy to your service, rather than modifying data in the client app you're supposed to be monitoring. We just spent a couple of days trying to debug what was destroying our objects. A bug monitoring service is one of the last places we expected to find something like this.

As a random aside, I can't see why you would want to process.exit() as you do here:

https://github.com/bugsnag/bugsnag-node/blob/master/lib/configuration.js#L29

That seems totally crazy. If an unhandled exception happens, you terminate my server process? For a notification / monitoring library, you sure are taking some liberties with the execution of the thing you're supposed to be monitoring. Rule #1 should be "don't alter the thing you're supposed to be monitoring".

Thanks!
Peter

Latest version breaks

I can start my app fine without bugsnag, but as soon as I try bugsnag.register I get the following error.

TypeError: Cannot read property 'handle' of undefined
    at Function.app.use (/Users/tivs/Documents/github/foxy-web/node_modules/express/lib/application.js:111:9)
    at Function.app.configure.app.use.express.static.maxAge (/Users/tivs/Documents/github/foxy-web/server.coffee:72:16)
    at Function.app.configure (/Users/tivs/Documents/github/foxy-web/node_modules/express/lib/application.js:396:61)
    at Object.<anonymous> (/Users/tivs/Documents/github/foxy-web/server.coffee:63:7)
    at Object.<anonymous> (/Users/tivs/Documents/github/foxy-web/server.coffee:103:4)
    at Module._compile (module.js:456:26)
    at Object.exports.run (/usr/local/share/npm/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:124:25)
    at compileScript (/usr/local/share/npm/lib/node_modules/coffee-script/lib/coffee-script/command.js:166:29)
    at /usr/local/share/npm/lib/node_modules/coffee-script/lib/coffee-script/command.js:141:18
    at fs.js:252:14
    at Object.oncomplete (fs.js:93:15)

Bugsnag Crashes on Undefined Stack Frames

TraceJS does not correctly handle frames that originate from native code. Instead of including a frame in the array, undefined is emitted. This causes bugsnag to throw an error in the notify method.

See this issue for more information chrisdickinson/tracejs#4

I have submitted a pull request to correct the issue but I'm not sure how active tracejs is. If you would like, I can submit a pull request to bugsnag to work around this failing in tracejs instead.

Notifier crashes if metadata contains object without hasOwnProprty

Utils.cloneObject, Utils.mergeObject, and Utils.filterObject all assume that every object in the metadata has hasOwnProperty. This is not always the case: http://stackoverflow.com/questions/16585209/node-js-object-object-has-no-method-hasownproperty

REPRO:

var err = new Error();

var metadata = Object.create(null);
metadata.a = 'b';

bugsnag.notify(err, metadata, cb);

STACK TRACE

TypeError: Object object has no method 'hasOwnProperty'
    at Function.module.exports.Utils.mergeObjects (/foo/node_modules/bugsnag/lib/utils.js:87:18)
    at new Notification (/foo/node_modules/bugsnag/lib/notification.js:84:13)
    at Function.module.exports.Bugsnag.notify (/foo/node_modules/bugsnag/lib/bugsnag.js:74:20)

We are using v1.5.1, and encountered these because we are passing in a metadata generated by a third-party module.

All Error's being sent

I'm using an express app, is there a way to ignore new Error from reporting an issue? I just want uncaught exceptions basically.

Thanks ^^

support for HTTPS proxies

I cannot specify an HTTPS proxy url, not pass proxy auth headers. These do not seem to be exposed in your implementation. Do you have a recommended way, or do I need to open a PR?

Support async stacktraces

We should add support to the library for async stack traces. Many promises libraries come with support for this now so I think it should be easy.

bugsnag catches should.js asserts

As part of node.js testing, mocha and should.js throw exceptions when something fails..

That is expected, apart from the fact that bugsnag tries to catch them :P.

Is it possible to disable bugsnag entirely, while not having to comment out all the require('bugsnag') lines?

I tried setting the bugsnag like this:

bugsnag.register({
    apiKey: 'a key',
    notifyReleaseStages: ["production"],
    releaseStage: 'development',
    autoNotify: false,
    onUncaughtError: function () {}
});

It still catches the errors, which is really annoying.

I temporarily added return statements to each bugsnag function, which helped.

Bugsnag.requestHandler(req, res, next) should reset the metaData

Currently, I don't see how to handle metaData with ExpressJS.
I've a middleware loadUser set on some routes (which means user needs to be authenticated to access the route). If I put data into metaData in a request then I get a crash in a second request, notify will send data left from the first request.

Custom error data is lost during reporting.

I'm trying to use onBeforeNotify to attach metaData as described here: https://docs.bugsnag.com/platforms/nodejs/restify-coffee/customizing-error-reports/

I've made a custom error type (a subclass of Ajv.ValidationError) and I'd like to be able to attach the specific JSON validation errors and the value context. My code for that is something like:

function onBeforeNotify(notification) {
    // Catch any JSON schema validation errors and send them along too
    const validationExceptions = notification.events[0].exceptions
        .map((exception) => {
            if (exception instanceof ValidationError) {
                return {
                    errors: exception.errors,
                    value: exception.value
                };
            }
            return null;
        })
        .filter(Boolean);

    // Only add metaData for ValidationErrors
    if (validationExceptions.length <= 0) return;

    notification.events[0].metaData.validation = { exceptions: validationExceptions };
}

The problem is before onBeforeNotify get's there this line is called: https://github.com/bugsnag/bugsnag-node/blob/master/lib/bugsnag.js#L103

This calls this method which clobbers all custom data 😒

Should be a pretty quick fix to just copy across all custom error parameters to the new error object. Any chance of a fix?

Thanks,
Alex

PS. Even better would be that this data is automatically attached to the report (as I expected before I embarked on this work..).

Cannot read property 'length' of undefined ?

Hi there,

I have the following code snippet in my server.js file

64. bugsnag.register("MY_KEY", {
65.   sendCode: true,
66.    onUncaughtError: function(err) {
67.        bugsnag.notify(new Error(err), {
68.              errorName: "BadError"
69.        });
70.    }
71. });

I have an error generated by bugsnag :

/home/themis/web/dist/server/server.js:68bugsnag.register.onUncaughtError   
/home/themis/web/dist/node_modules/bugsnag/lib/bugsnag.js:22none    
/home/themis/web/dist/node_modules/bugsnag/lib/notification.js:177_callback 
/home/themis/web/dist/node_modules/bugsnag/node_modules/request/request.js:200self.callback 
events.js:87emitTwo 
events.js:172emit   
/home/themis/web/dist/node_modules/bugsnag/node_modules/request/request.js:1067none 
events.js:82emitOne 
events.js:169emit   
/home/themis/web/dist/node_modules/bugsnag/node_modules/request/request.js:988none  
events.js:72emitNone    
events.js:166emit   
_stream_readable.js:905endReadableNT    
node.js:441nextTickCallbackWith2Args    
node.js:396_tickDomainCallback

Do you have an idea of where does it come from ?

Thanks.

IISNode issues

Req.connection is null behind iisnode - which leads to issues on windows in requestInfo.

Also the remoteAddress should fall back to req.ip if its null.

Please document whether `bugsnag.notify` is sync or async

The docs should clarify whether bugsnag.notify is sync or async if no callback used.

This matters because that happens just after calling bugsnag.crash may cause a crash. If it happens fast enough, the Bugsnag notification might not get through.

Promises are ignored by default

While uncaught exceptions are always caught, uncaught rejected promises are ignored. Wouldn't it be extremely useful if Bugsnag would handle them too? In production, I encountered an issue where I didn't catch a rejection and got a timeout instead – and saw nothing in my bugsnag dashboard. I am now listening on process.unhandledRejection, but it would be useful if bugsnag-node could do that automatically.

Koa: Add support for requestData alternative

Because the Koa handler doesn't use domains, I don't see Bugsnag.requestData working at all for Koa (even though the docs seem to say otherwise - here).

User data can also be set on a per-request basis using the requestData property. See customizing error reports for details

My initial thoughts were to slightly modify the koaHandler to merge ctx.bugsnag with the metadata argument passed to Bugsnag.notify. After a quick initial test, this does seem to work pretty nicely, seeing as the same ctx is used throughout all the middleware: any middleware has the ability to add to the ctx.bugsnag object.

Adding this will make the koa example app support all the same functionality as the express example app - which would be 🤘.

Edit: jacobmarshall-etc@6021c89

Errors context

I use bugsnag.notify() in a file called logger.js:

var bugsnag = require('bugsnag');

module.exports = {
  log: function() {
    // ...
    return console.log.apply(console, arguments);
  },

  info: function() {
    var message = Array.prototype.slice.call(arguments).join(' ');
    bugsnag.notify(message, { severity: 'info' });
    // ...
    return console.info(message);
  },

  warn: function() {
    var message = Array.prototype.slice.call(arguments).join(' ');
    bugsnag.notify(message, { severity: 'warning' });
    // ...
    return console.warn(message);
  },

  error: function() {
    var message = Array.prototype.slice.call(arguments).join(' ');
    bugsnag.notify(message, { severity: 'error' });
    // ...
    return console.error(message);
  }
};

This allows me to do some others actions when I need to report an error, a warning, ...
My issue is with the stacktrace sent to bugsnag, all the reported errors/warning/.. are stacked in libs/logger.js. How can I keep my source code DRY and get my reports accurate?

A little confused as to how to only sent notifications from certain environments

I've got process.env.NODE_ENV set, and when I register bugsnag I use the following code:

bugsnag.register(config.bugsnag.key, {
appVersion: buildinfo.git_version || 'N/A',
notifyReleaseStages: [ 'staging' , 'integration', 'production'],
useSSL: true,
autoNotify:false
});

I'm getting error alerts from the NODE_ENV of development though, is this not how you tell the module which environments you want alerts from? Or do I have to handle this within my codebase? I thought that's what notifyReleaseStages did?

Thanks,

Dan

Reporting not working from Webpack bundled code (Blank version number)

I have no idea if Lambda is related, but deliberately causing an error and having it handled by bugsnag.notify(e) in a try/catch leads to the following payload:

{
  "apiKey":"REDACTED",
  "notifier":{
    "name":"Bugsnag Node Notifier",
    "version":null,
    "url":"https://github.com/bugsnag/bugsnag-node"
  },
  "events":[
    {
      "exceptions":[
        {
          "message":"testRef is not defined",
          "errorClass":"ReferenceError",
          "stacktrace":[
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"none",
              "lineNumber":53620,
              "columnNumber":13
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"tryCatcher",
              "lineNumber":836,
              "columnNumber":24
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"_settlePromiseFromHandler",
              "lineNumber":62551,
              "columnNumber":32
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"_settlePromise",
              "lineNumber":62608,
              "columnNumber":19
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"_settlePromise0",
              "lineNumber":62653,
              "columnNumber":11
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"_settlePromises",
              "lineNumber":62732,
              "columnNumber":19
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"_drainQueue",
              "lineNumber":59684,
              "columnNumber":17
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"_drainQueues",
              "lineNumber":59694,
              "columnNumber":11
            },
            {
              "file":"/var/task/index.js",
              "path":"/var/task/index.js",
              "method":"Async.drainQueues [as _onImmediate]",
              "lineNumber":59563,
              "columnNumber":15
            },
            {
              "file":"timers.js",
              "path":"timers.js",
              "method":"processImmediate [as _immediateCallback]",
              "lineNumber":383,
              "columnNumber":17
            }
          ]
        }
      ],
      "metaData":{

      },
      "releaseStage":"production",
      "payloadVersion":"2",
      "severity":"warning",
      "device":{
        "hostname":"ip-10-13-79-136"
      }
    }
  ]
}

This is received as a 200 OK by Bugsnag (which I understand to just mean queued, not processed). This exception never actually appears in the UI.

Do we have a way to validate the payload?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.