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

wclhuntwork

v0.0.2

Published

wcl

Downloads

6

Readme

winston-cloudwatch v1.3.1

Send logs to Amazon Cloudwatch using Winston.

Build Status Coverage Status Dependency Status dev dependencies peer dependencies

Features

  • logging to AWS CloudWatchLogs
  • logging to multiple streams
  • logging with multiple levels
  • creates group / stream if they don't exist
  • doesn't try to buffer your unsent logs (you should use more streams)
  • see options for more
  • 100% code coverage in lib layer (WIP for the rest)

Installing

$ npm install --save winston winston-cloudwatch

Configuring

AWS configuration works using ~/.aws/credentials as written in AWS JavaScript SDK guide.

As specified in the docs:

The AWS SDK for Node.js doesn't select the region by default.

so you should take care of that. See the examples below.

If either the group or the stream do not exist they will be created for you.

For displaying time you should click on the gear in the top right corner on page with your logs and enable checkbox "Creation Time".

Usage

Please refer to AWS CloudWatch Logs documentation for possible contraints that might affect you. Also have a look at AWS CloudWatch Logs limits.

var winston = require('winston'),
    WinstonCloudWatch = require('../index');

winston.add(WinstonCloudWatch, {
  logGroupName: 'testing',
  logStreamName: 'first'
});

winston.error('1');

You could also log to multiple streams with / without different log levels, have a look at this example.

Options

This is the list of options you could pass as argument to winston.add:

  • level - defaults to info
  • logGroupName
  • logStreamName
  • awsAccessKeyId
  • awsSecretKey
  • awsRegion
  • jsonMessage - boolean, format the message as JSON
  • messageFormatter - function, format the message the way you like. This function will receive a log object that has the following properties: level, msg, and meta, which are passed by winston to the log function (see CustomLogger.prototype.log as an example)
  • proxyServer - String, use proxyServer as proxy in httpOptions
  • uploadRate - Number, how often logs have to be sent to AWS. Be careful of not hitting AWS CloudWatch Logs limits, the default is 2000ms.
  • errorHandler - function, invoked with an error object, if not provided the error is sent to console.error

AWS keys are usually picked by aws-sdk so you don't have to specify them, I provided the option just in case. Remember that awsRegion should still be set if you're using IAM roles.

Please refer to the provided examples for more hints.