Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 1.69 KB

File metadata and controls

62 lines (43 loc) · 1.69 KB

critical-error

NPM Version

Provides a simple interface to send messages to a pre-configured SNS endpoint, using @aws-sdk/client-sns.

All messages are also logged to console.error.

A process uncaughtException handler is also installed which logs uncaught exceptions.

Install

npm i critical-error

Usage

var critical = require('critical-error');

// configure somewhere once before use:
critical.configure({TopicArn:"arn:aws:yourarnhere", region:"the-topics-region"});

critical("Oh no! Super bad error D:")

Options

All options are passed to the AWS SDK PublishCommand creation, apart from region which is used when creating the AWS SNS Client object.

Usage in shortlived processes

critical() is asynchronous but does not provide a callback (since there is no sensible way to handle errors). If you need to wait for messages to be sent (for instance due to running as a serverless function), then use:

// call callback when an in-flight critical() request is completed:
critical.waitForCompletion(callback);

// await the completion of an inflight request:
await critical.waitForCompletion();

Changelog

2.0.0

  • Application name and version information is now read from process.cwd()/package.json (instead of traversing the module tree), to fix ES6 import.
  • Added types.

1.3.1

  • fixed respository URL in package.json for provenance

1.3.0

  • updated AWS SDK version, add provenance-attested publish from github action

1.2.0

  • add .waitForCompletion()

1.1.0

  • Updated to use aws-sdk v3, depending only on @aws-sdk/client-sns instead of the whole sdk