Socket
Socket
Sign inDemoInstall

@jsenv/logger

Package Overview
Dependencies
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jsenv/logger

Control verbosity of logs during a function execution.


Version published
Weekly downloads
481
decreased by-34.91%
Maintainers
2
Weekly downloads
 
Created
Source

logger

Control verbosity of logs during a function execution.

npm package

You want to use @jsenv/logger when you have many logs with different purposes and controls which type of logs are actually written.

Installation

npm install @jsenv/logger

Documentation

createLogger

createLogger is a function receiving a logLevel and returning a logger object.

import { createLogger } from "@jsenv/logger"

const functionWithLogs = ({ logLevel }) => {
  const logger = createLogger({ logLevel })

  logger.debug("start doing whetevr")
  logger.info("some useful info")
  logger.debug("doing whatever is done")
  logger.warn("be careful about blah-blah")
  logger.error("oops an error occured while doing whatever")
}

functionWithLogs({ logLevel: "debug" })
functionWithLogs({ logLevel: "info" })
functionWithLogs({ logLevel: "warn" })
functionWithLogs({ logLevel: "error" })
functionWithLogs({ logLevel: "off" })

— source code at src/createLogger.js.

logLevel

logLevel parameter is a string controlling verbosity of the returned logger.

The possible logLevel values are:

  • "off"
  • "debug"
  • "info"
  • "warn"
  • "error"

If you are rigorous, each logLevel value is exported as a constant that you can use like this:

import { createLogger, LOG_LEVEL_INFO } from "@jsenv/logger"

createLogger({ logLevel: LOG_LEVEL_INFO })

logger

logger is an object with methods logging a message with a given level.
It is returned by createLogger, and has the following shape: { debug, info, warn, error }. Each method calls the corresponding console method or do nothing depending on the logLevel.

import { createLogger } from "@jsenv/logger"

const logger = createLogger({ logLevel: "info" })
logger.debug("hello")

Logs nothing

import { createLogger } from "@jsenv/logger"

const logger = createLogger({ logLevel: "info" })
logger.info("hello")

Logs Hello

Migration from console

Using @jsenv/logger means converting console methods into logger methods. console.info becomes logger.info and so on.

But keep in mind there is no logger.log. This is because a log level named "log" would not fit into the log level hierachy below.

error > warn > info > debug

It means you have to convert console.log into logger.debug or logger.info.

FAQs

Package last updated on 07 Jun 2022

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