Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

molindo-node-logger

Package Overview
Dependencies
Maintainers
0
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

molindo-node-logger

A node.js logger that integrates well with the Molindo infrastructure.

  • 3.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

molindo-node-logger

A Node.js logger that integrates well with the Molindo infrastructure.

Features

  • Pretty prints messages in development mode.
  • Prints JSON messages in production mode.
  • Errors are printed to stderr, while all other levels are printed to stdout.
  • In development only infos, warnings and errors are printed, while in production all levels are printed.
  • If the process encounters an error, it will log it to the console before shutting down. unhandledRejection errors thrown from promises are logged as well.
  • Offers an express integration that logs HTTP requests, including the operationName in the case of GraphQL requests. Confidential headers like cookie or authorization are masked.
  • Uses the levels and level values from logback: ERROR (40000), WARN (30000), INFO (20000), DEBUG (10000), TRACE (5000).

Usage

import Logger from 'molindo-node-logger';

const logger = new Logger({ service: 'pizza-shop' });
logger.trace('Making a salami pizza …');
logger.debug('Adding salami …');
logger.info('Putting it in the oven …');
logger.warn("Don't forget to get it out in time …");
logger.error('Oh no, the pizza is burned!');

In production, printed JSON will look like this (except that it's not pretty printed):

{
  "service": "pizza-shop",
  "@timestamp": "2017-10-19T08:26:13.168Z",
  "level": "INFO",
  "level_value": 20000,
  "message": "Pizza is ready!"
}

Express integration

If you're running an express server, you can register the logger middleware to log HTTP requests. GraphQL requests get automatically detected and attached as meta.graphql, with properties operationName and the respective variables.

import express from 'express';
import Logger, { createLoggerMiddleware } from 'molindo-node-logger';

const server = express();

const logger = new Logger({ service: 'pizza-shop' });
server.use(createLoggerMiddleware({ logger }));

The size of meta.graphql.variables can sometimes grow too large to log effectively. To manage this, the createLoggerMiddleware() function provides a configurable parameter: maxGraphQLVariablesLength.

Configuration of maxGraphQLVariablesLength
  • Set maxGraphQLVariablesLength (default: 512), to set the maximum size of the meta.graphql.variables payload to be logged.
  • Set maxGraphQLVariablesLength to 0 to completely turn off logging for meta.graphql.variables.
  • Set maxGraphQLVariablesLength to -1 to include the complete meta.graphql.variables payload without size restrictions.

Keywords

FAQs

Package last updated on 18 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc