esther
TypeScript icon, indicating that this package has built-in type declarations

1.0.10 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i esther

Weekly Downloads

0

Version

1.0.10

License

MIT

Unpacked Size

20.6 kB

Total Files

7

Last publish

Collaborators

  • isaiahwong