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

llog

v0.3.3

Published

simple multi-level application logging module

Downloads

966

Readme

llog

llog is a simple logging module. llog is intended for use in applications, not libraries. It provides level-based debugging (trace|debug|info|warn|error|fatal). note: For adding detailed debug statements in libraries, use TJ's debug module.

As an added bonus, llog provides a simple upgrade path from plain text to json logging via either pino or bunyan. llog will look for pino or bunyan at load time and automatically use them as a provider if present. This means you can write your apps with non-json logging when starting, and auto-magically all your logs to json logging with a simple npm i --save pino.

level-based debugging

To use llog:

var log = require('llog');

log.debug('some info'); // prints 'debug some info' to stdout
log.info('some info'); // prints 'info some info' to stdout
log.warn('some info'); // prints 'warn some info' to stdout
log.error('some error'); // prints 'error some error' to stdout

Specifying log levels

llog is based on debug, and as such extends the same mechanism debug uses to specify which items to log - using process.env.DEBUG.

To log only info, warn, and error in llog, for instance, you would run your application similar to the following:

DEBUG=info,warn,error node app.js

Adding trace is simple:

DEBUG=trace,info,warn,error node app.js

Magic upgrade to json logging

llog will automatically detect if bunyan or pino are installed as a peer dependency and, if so, automatically upgrade to json logging. Because bunyan and pino use process.env.LOG_LEVEL as a level indicator (as opposed to debug's DEBUG variable, the steps for moving to json logs are:

  1. npm install --save buynan or npm install --save pino
  2. execute your application using LOG_LEVEL=10 node app instead of using DEBUG. Higher levels are always included when specifying a level.

Bunyan log levels can be found at https://github.com/trentm/node-bunyan#levels. Pino log levels can be found at https://github.com/pinojs/pino

This is particularly useful when moving from early stages of application development to having unified logging via Logstash or Splunk.