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

esther

v1.0.10

Published

A winston logger wrapper

Downloads

26

Readme

Esther

An opinionated winston logger wrapper.
Requires nodejs 10.11 > as it utilises grpc lib

Usage

The recommended way to use esther is setup the logger with logger.init function. This instantiates a new instance of winston with your own settings under the hood.

const logger = require('esther');

// Initialise logger
logger.init({
  useFileTransport: true,
  logDirectory: path.join(__dirname, '..', 'logs'),
});

You may also use esther via the default logger exposed by require('esther') This works with ES6 syntax such as import.

init Options are identical with winston configs.

| Name | Default | Description |
| ------------- | --------------------------- | --------------- | | level | 'info' | Log only if verbose is less than or equal to this level | | levels | esther.config.levels | Levels representing log priorities |
| colors | esther.config.colors | colors representing log priorities |
| disableStackTrace | false | Disable logging of stack trace for isHandledError. I.E logger.error(new Error(), { isHandledError: true }); Example |
| transports | [] (Console Transport) | Set of logging targets for logs |
| useFileTransport | false | If true, will generate and write logs to system |
| logDirectory | Root directory of project (__dirname) | Logs directory to be written to |
| useStackDriver | false | If true, logger transport will utilise google's StackDriver. |
| stackDriverOpt | { serviceName: 'Auth service', ver: '1.0,0' } | Adds labels to each logging |

Refer to Stackdriver docs on how to setup your google service account. Alternatively, if you're deploying your app with kubernetes on GKE, each pod is configured with the default service account

Disable Stack Trace

import { BadRequest } from 'horeb';
import path from 'path';
import logger from 'esther';

logger.init({
  disableStackTrace: true,
  useFileTransport: true,
  logDirectory: path.join(__dirname, 'logs'),
});
const err = new BadRequest('invalid parameters');
logger.error(err, { isHandledError: true });
// Prints out message only

TODO

Parameterized options