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

oniyi-logger

v1.0.0

Published

A simple loglevel and label wrapper around process.stdout

Downloads

206

Readme

NPM info

A simple loglevel and label wrapper around process.stdout

Install

$ npm install --save oniyi-logger

Usage

all log functions work similar to console.log() and can take multiple arguments in a printf()-like way. Note that the debug() method is a noop per default. To enable debug() logging, you must use a labled logger, and list the label in the NODE_DEBUG environment variable. NODE_DEBUG must be a comma, or space separated list

var fs = require('fs');

// standard use-case, will log to process.stdout
var logger = require('oniyi-logger')('my-awesome-module');

logger.info('my %s message', 'info');
// INFO [my-awesome-module] my info message
logger.debug('my debug message');
// Does not log anything
logger.warn('my warn message');
// WARN [my-awesome-module] my warn message
logger.error('my error message');
// ERROR [my-awesome-module] my error message


// log to a file
var labeledFileLog = require('oniyi-logger')('file', {sink: fs.createWriteStream('file.log, {flags: 'a'}')});

labeledFileLog.info('my info message');
// writes "INFO [file] my info message" to file.log
labeledFileLog.debug('my debug message');
// writes does not write anything to file.log
labeledFileLog.warn('my warn message');
// writes "WARN [file] my warn message" to file.log
labeledFileLog.error('my error message');
// writes "ERROR [file] my wrror message" to file.log

You can use nested lables to controle debug messages with finer granularity.

so with process.env.NODE_DEBUG = 'foo:bar', you get this:

const oniyiLogger = require('oniyi-logger');
const fooLogger = oniyiLogger('foo');
const barLogger = oniyiLogger('foo:bar');

fooLogger.debug('my debug message');
// Does not log anything

barLogger.debug('my debug message');
// DEBUG [foo:bar] my debug message

and with process.env.NODE_DEBUG = 'foo:*', you get this:

const oniyiLogger = require('oniyi-logger');
const fooLogger = oniyiLogger('foo');
const barLogger = oniyiLogger('foo:bar');

fooLogger.debug('my debug message');
// DEBUG [foo] my debug message

barLogger.debug('my debug message');
// DEBUG [foo:bar] my debug message

License

Apache 2.0 © Benjamin Kroeger