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

carpet

v0.0.11

Published

A very simple nodejs logger with colorful timestamps and logging level

Downloads

17

Readme

carpet

A very simple nodejs logger with colorful timestamps and logging level

Installation

Via npm:

$ npm install carpet

Usage

Simple

Hello world example

var log = require("carpet");
log("hello world");
// will output
// 2013-09-27 13:45:12.963 hello world

More colors

You get different colors for timestamps according to level

log.d("debug"); // green timestamps .. equivalent to log.debug()
log.i("info");	// white timestamps .. equivalent to log.info()
log.w("warn");	// yellow timestamps .. equivalent to log.warn()
log.e("error");	// red timestamps .. equivalent to log.error() or log.err()

Replacement for console.log

Calls are forwarded to console.log so everything goes to stdout
Also the log behaves just like console.log:

log.i("multiple", "arguments", {a : 1, b : { c : 3}});

And formatted output

log("loook ma' %s formatted output !!!%doneoneeleven", "this is", 1);

Limiting verbosity

Log levels only change color but it might be necessary to limit log output You can do that by calling log.setLevel() with the desired minimum logging level

log.setLevel("warn");
log("this doesn't get printed");
log.i("neither does this");
log.w("but this does get printed");
log.e("and so does this");

//now set it lower
log.setLevel("debug");
log("everything is visible now");

Even easier

You don't even have to change your source code to change the log level, Instead, just set the CARPET_LOG_LEVEL environment variable to your desired verbosity level before starting your app.

It's as easy as:

export CARPET_LOG_LEVEL=debug

You can still call log.setLevel() afterwards, but you can revert to the environment variable by calling log.setLevel("default")

If that variable is not set, the default default is equivalent to setLevel("everything")

Verbosity levels

  • All. every level is printed
    • log.setLevel ( 0 / "debug" / "d" / "verbose" / "all" / "everything" )
  • Info and above
    • log.setLevel ( 1 / "info" / "i" )
  • Warnings and errors
    • log.setLevel ( 2 / "warn" / "w" )
  • Just errors
    • log.setLevel ( 3 / "err" / "e" / "error")
  • Nothing
    • log.setLevel ( 4 / "nothing" / -1)

TODO

//TODO: buffer log calls before writing to file

Credits

Written and maintained by Mircea Nistor.

Changelog

0.0.9

  • adopting git

0.0.8

  • cleanup

0.0.7

  • bugfix

0.0.6

  • added setLevel, to limit verbosity of output by level of importance
  • also set the limit by setting the CARPET_LOG_LEVEL environment variable

0.0.5

  • bugfixes

0.0.4

  • log() is now equivalent to log.d()

0.0.3

  • npm cleanup
  • colors in tests

0.0.2

  • shorter member function names
  • can also be called directly, equivalent to log.info()

0.0.1:

  • Initial release

notes

This is probably not very useful in these modern times and is being used to test automated semantic-releases.