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

@travel-cloud/simple-lambda-logger

v2.0.3

Published

A simple logger to use with aws lambda (node version 6.10 upwards)

Downloads

7

Readme

simple-lambda-logger

Simple logging solution for Node.js AWS Lambda projects that supports multiple logging levels as well as optional support to send logs to third parties.

Usage

npm i @travel-cloud/simple-lambda-logger

Logging creation reads an ENV property to create a logger at the desired level, you can set this in AWS by simply setting the property as part of your configuration.

process.env.LOG_LEVEL = 'DEBUG';

const logger = require('@travel-cloud/simple-lambda-logger');

mylogger = logger.newLogger();

mylogger.debug('Your logs');

If logs are logged in JSON format like so:

mylogger.debug({
    foo: 'bar',
  }));

Then they are sent to the console as a stringified JSON object without a timestamp.

By default logs are sent to the console in the format:

'${timestamp} ${level} ${log}'

Then

Any calls to log against a logger of a higher level resolve to an empty function and are ignored. For example the following has no effect:

process.env.LOG_LEVEL = 'ERROR';
const logger = require('@travel-cloud/simple-lambda-logger');

mylogger = logger.newLogger();

mylogger.debug('Your logs');

Levels

  1. DEBUG
  2. INFO
  3. ERROR

If no level property is specified or an unknown value is configured this will result in an error level logger being created.

Third Parties

logentries.com

The previous logentries support has been causing some performance issues within AWS lambda. We have removed logentries support from this version while we take some time to further investigate. If you would like to continue using logentries with simple-lambda-logger please use v1.1.3

Close

Usage of a third party logger in AWS Lambda requires you to close the simple logger. Failure to do so will most likely result in the function timing out as chances are the third party library is keeping its connection open. Using the simple logger you simply call close before the end of your lambda function:

process.env.LOG_LEVEL = 'DEBUG';
const logger = require('@travel-cloud/simple-lambda-logger');
mylogger = logger.newLogger();
mylogger.debug('Your logs');
// terminate the logger
await mylogger.close();
//end the lambda function according to your requirements eg
callback(null, response);

Calling close returns a promise for you to await before terminating your lambda function, if the logger does not require closing a resolved promise is automatically returned.