Skip to content

pinojs/pino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c96f9e4 Β· Oct 7, 2021
Sep 27, 2021
Jul 21, 2021
Oct 3, 2021
Jul 9, 2021
Sep 6, 2021
Oct 7, 2021
Oct 7, 2021
May 31, 2021
Jan 16, 2021
Sep 7, 2021
Jul 23, 2017
Apr 4, 2020
Apr 4, 2020
Sep 24, 2021
May 6, 2018
Mar 17, 2020
Jun 9, 2019
Sep 20, 2021
Jun 15, 2018
Jul 12, 2021
Sep 24, 2021
Dec 20, 2019
Oct 7, 2021
Jul 25, 2016
Jul 25, 2016
Jul 10, 2018
Sep 4, 2021
Oct 7, 2021
Apr 13, 2018
May 31, 2021

Repository files navigation

banner

pino

npm version Build Status Known Vulnerabilities js-standard-style

Very low overhead Node.js logger.

Documentation

Install

$ npm install pino@next

If you would like to install pino v6, refer to https://github.com/pinojs/pino/tree/v6.x.

Usage

const logger = require('pino')()

logger.info('hello world')

const child = logger.child({ a: 'property' })
child.info('hello child!')

This produces:

{"level":30,"time":1531171074631,"msg":"hello world","pid":657,"hostname":"Davids-MBP-3.fritz.box"}
{"level":30,"time":1531171082399,"msg":"hello child!","pid":657,"hostname":"Davids-MBP-3.fritz.box","a":"property"}

For using Pino with a web framework see:

Essentials

Development Formatting

The pino-pretty module can be used to format logs during development:

pretty demo

Transports & Log Processing

Due to Node's single-threaded event-loop, it's highly recommended that sending, alert triggering, reformatting and all forms of log processing be conducted in a separate process or thread.

In Pino terminology we call all log processors "transports", and recommend that the transports be run in a worker thread using our pino.transport API.

For more details see our Transports⇗ document.

Low overhead

Using minimum resources for logging is very important. Log messages tend to get added over time and this can lead to a throttling effect on applications – such as reduced requests per second.

In many cases, Pino is over 5x faster than alternatives.

See the Benchmarks document for comparisons.

The Team

Matteo Collina

https://github.com/pinojs

https://www.npmjs.com/~matteo.collina

https://twitter.com/matteocollina

David Mark Clements

https://github.com/davidmarkclements

https://www.npmjs.com/~davidmarkclements

https://twitter.com/davidmarkclem

James Sumners

https://github.com/jsumners

https://www.npmjs.com/~jsumners

https://twitter.com/jsumners79

Thomas Watson Steen

https://github.com/watson

https://www.npmjs.com/~watson

https://twitter.com/wa7son

Contributing

Pino is an OPEN Open Source Project. This means that:

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

See the CONTRIBUTING.md file for more details.

Acknowledgements

This project was kindly sponsored by nearForm.

Logo and identity designed by Cosmic Fox Design: https://www.behance.net/cosmicfox.

License

Licensed under MIT.