npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@log4js2/sns-appender

v1.0.0

Published

Appends logs to AWS simple notification service

Downloads

9

Readme

sns-appender

An appender for @log4js2/core that sends log events to an SNS topic to be handled by AWS.

Build Status codecov dependencies

Installation

npm install --save @log4js2/core @log4js2/sns-appender

Configuration

Set up the SNS appender in the configure method.

import {configure, LogLevel} from '@log4js2/core';
import SNSAppender from '@log4js2/sns-appender';

configure({
    layout : '%d [%p] %c - %m %ex',
    appenders : [{
        name: 'sns',
        appender: SNSAppender,
        level: LogLevel.FATAL,
        config: {
            application: 'MyApp', // optional
            protocol: ['email', 'sms'],
            region: 'us-east-1',
            topicArn: 'arn:aws:sns:us-east-1:123456789012:errors'
        }
    }]
});

*Note: it is probably a good idea to only use SNS appending when a high level error occurs, otherwise you can pollute your stream with unimportant logs. Use filters and logging levels to ensure logs only are received when necessary.

Handling the SNS

SNS Subscriptions

The SNSAppender configuration object allows you to configure one or multiple protocols. See the SNS subscribe documentation for which protocols can be used.

Handling raw JSON

The SNS record contains a log field with the log that caused the SNS appender to trigger. It also contains a raw field with the unformatted log event (for easier parsing).

{
  "application": "MyApplication",
  "log": "2019-02-12 12:55:32.000 [INFO] Doing something \n ...",
  "raw": {
    "level": 100,
    "error": "An Unexpected Error",
    "message": "An error occurred",
    ...
  }
}

Contributors

Library built and maintained by Robin Schultz

If you would like to contribute (aka buy me a beer), you can send funds via PayPal at the link below.

paypal