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

logger-steps

v0.0.1

Published

Group log messages and send them in one batch to the logger of your choize

Downloads

52

Readme

logger-steps

Node NPM Travis David Coverage Status Gitmoji

Group log messages and send them grouped the logger of your choice

Log messages are useful, but they can be missleading if the order is not correct or if related messages do not appear close to each other (which is quite common on asynchronous programming). Grouping messages could be a pain and would force you to refactorize your code deeply.

This library fixes this situation by wrapping the logger of your choize and providing an interface that mimics the one of the logger. Then you can use the returned API in the same way you are used to but messages will be grouped toghether.

Usage

The most basic usage is as follows:

import loggerSteps from 'logger-steps';

trace = loggerSteps(console /* Reporter */, 'AUTH-FLOW' /* Flow title */, 15 /* Automatic flush timeout */);

trace.info('Starting auth flow', user.email);
/* Do things here ...*/
trace.warn('Something failed, trying alternative...');
/* Do more things here */
trace.error('The flow failed totally',error.message)
/* Send all the messages in one go to the selected logger, in this case the console*/
trace.flush();
/* Console output...
AUTH-FLOW:
 { title: 'Starting auth flow', details: '[email protected]' }
 { title: 'Something failed, trying alternative...' }
 { title: 'The flow failed totally', details: 'User does not exists' }

*/

Installation

Install via yarn

yarn add logger-steps (--dev)

or npm

npm install logger-steps (--save-dev)

configuration

You can pass in extra options to configure the behavior of the tracer (➕ required, ➖ optional, ✏️ default).

import loggerSteps from 'logger-steps';

logger ( logger ) 📝 The logger you want to report to ❗️ currently it should implement the following methods: error, warn, log, info, debug ℹ️ info 💡 example: console ➖ logger ( String ) ✏️ Steps 📝 The title of the trace ℹ️ It will appear at the top of the output 💡 example: 'AUTH-FLOW' ➖ logger ( Number ) ✏️ 30 📝 Timeout before triggering an automatic flush ❗️ Setting a big timeout could lead to higher memmory usage in case you forget to flush often ℹ️ info: 💡 example: 15

methods

#name

loggerSteps

Examples

See example folder or the runkit example.

Builds

If you don't use a package manager, you can access logger-steps via unpkg (CDN), download the source, or point your package manager to the url.

logger-steps is compiled as a collection of CommonJS modules & [ES2015 modules](http://www.2ality.com/2014/0 -9/es6-modules-final.html) for bundlers that support the jsnext:main or module field in package.json (Rollup, Webpack 2)

The logger-steps package includes precompiled production and development UMD builds in the dist folder. They can be used directly without a bundler and are thus compatible with many popular JavaScript module loaders and environments. You can drop a UMD build as a <script> tag on your page. The UMD builds make logger-steps available as a window.loggerSteps global variable.

License

The code is available under the MIT license.

Contributing

We are open to contributions, see CONTRIBUTING.md for more info.

Misc

This module was created using generator-module-boilerplate.