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

pino-caller

Package Overview
Dependencies
Maintainers
5
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pino-caller

print the filename and line number of the caller (use only in development environment)

  • 3.4.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
9.4K
decreased by-52.97%
Maintainers
5
Weekly downloads
 
Created
Source

pino-caller

npm version Build Status Coverage Status js-standard-style

Description

pino-caller is a wrapper for pino which adds the call site of each log message to the log output. This can be useful when developing with large codebases in order to locate the exact point where pino is invoked.

Install

For Pino v4 and below use the v2 line, which can be installed with the @legacy tag:

npm install pino-caller@legacy

For Pino v5 and above use the v3+ line, which will install using the usual command:

npm install pino-caller

WARNING: THIS IS A DEVELOPMENT TOOL AVOID PRODUCTION USE!

Usage

Basic
'use strict'

const pino = require('pino')() // it will print as usual
const pinoCaller = require('pino-caller')(pino) // it will print also the calling site

pinoCaller.info('info1')
pinoCaller.error('error1')
pinoCaller.debug('debug1')
Advanced
'use strict'
// dynamically load the plugin if in development environment, output paths relative to __dirname
const pino = process.env.NODE_ENV === 'development' ? require('pino-caller')(require('pino')(), { relativeTo: __dirname }) : require('pino')()

pino.info('info1')
pino.error('error1')
pino.debug('debug1')

You can find also a working example in the examples directory and you can run it with npm run example

Options
  • relativeTo - Remove path prefixes from log messages to make them easier to read.
  • stackAdjustment - For those of who who've wrapped pino, make pino-caller move N stackframes up to get a meaningful message.
'use strict'
const pino = require('pino')()
const pinoCaller = require('pino-caller')(pino, { relativeTo: __dirname, stackAdjustment: 1 })

// People who have wrapped pino like in the contrived example below 
// will want to use stackAdjustment.
// Most people will NOT need this.  See issue #90 for details.
const log = {
  info: function(message) { pinoCaller.info(message) }
}

Example output

╭─phra at debian in /home/phra/git/pino-caller (master ✔)
╰─λ npm run example

> pino-caller@1.0.0 example /home/phra/git/pino-caller
> env NODE_ENV=development node examples/index.js

{"pid":44837,"hostname":"debian","level":30,"time":1487873713227,"msg":"hello from the module!","caller":"Object.<anonymous> (/home/phra/git/pino-caller/examples/module.js:4:12)","v":1}
{"pid":44837,"hostname":"debian","level":30,"time":1487873713230,"msg":"info1","caller":"Object.<anonymous> (index.js:8:12)","v":1}
{"pid":44837,"hostname":"debian","level":50,"time":1487873713230,"msg":"error1","caller":"Object.<anonymous> (index.js:9:12)","v":1}

FAQs

Package last updated on 21 Feb 2023

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