Releases: pinojs/pino
v6.13.3
- Disable 100% coverage check
Full Changelog: v6.13.2...v6.13.3
v7.0.0-rc.6
What's Changed
- Restore automerge by @kibertoad in #1135
- Removed coveralls, removed TS badge by @mcollina in #1134
- fix: flush thread-stream missing callback by @climba03003 in #1137
Full Changelog: v7.0.0-rc.5...v7.0.0-rc.6
v7.0.0-rc.5
What's Changed
- Removed deprecated options in pino.child() by @mcollina in #1124
- Update the
options.level
documentation of the child logger by @marcbachmann in #1125 - fix: make pino.final sync flushes when no handler provided (#1126) by @javiertury in #1127
- Removed multistream prettyPrint deprecation and clean up docs by @mcollina in #1123
- dep: removes fast-safe-stringify dep by @leorossi in #1129
- Remove whitespace from markdown files by @justinpage in #1131
- build(deps): bump pino-abstract-transport from 0.2.0 to 0.3.0 by @dependabot in #1130
- build(deps-dev): update pino-pretty requirement from ^v7.0.0 to ^v7.0.1 by @dependabot in #1132
- added
file.js
topackage.json
New Contributors
- @javiertury made their first contribution in #1127
- @leorossi made their first contribution in #1129
- @justinpage made their first contribution in #1131
Full Changelog: v7.0.0-rc.4...v7.0.0-rc.5
v7.0.0-rc.4
What's Changed
- Use fastify-warning in v7 by @jsumners in #1093
- Document pino.transport() async startup by @mcollina in #1097
- Improve TS types by @kibertoad in #1099
- build(deps): bump actions/setup-node from 2.3.0 to 2.4.0 by @dependabot in #1085
- Add overload to handle unknown returned by TS-4.4 for errors be default by @kibertoad in #1116
- pino-pretty transport convertion by @mcollina in #1110
- Package manager CI action by @Eomm in #1113
- Deprecate the prettyPrint option by @mcollina in #1122
- add transports constructor option by @Eomm in #1111
Full Changelog: v7.0.0-rc.3...v7.0.0-rc.4
v6.13.2
v7.0.0-rc.3
What's Changed
- build(deps): bump actions/setup-node from 2.2.0 to 2.3.0 by @dependabot in #1070
- build(deps-dev): bump @types/node from 15.14.5 to 16.4.10 by @dependabot in #1082
- Fix typo by @vladshcherbin in #1084
- Completely removed extreme mode by @mcollina in #1090
- Make ThreadStream sync: false (the default) by @mcollina in #1089
- Automatically flush the logs on exit in Node v14+ by @mcollina in #1091
New Contributors
- @vladshcherbin made their first contribution in #1084
Full Changelog: v7.0.0-rc.2...v7.0.0-rc.3
v6.13.1
v7.0.0-rc.2
v7.0.0-rc.1
v7.0.0-rc.1
- First release of the v7 Release Candidate series.
All v7.0.0 release notes are included.
v7.0.0 release notes
New Features
pino.transport()
Create a a stream that routes logs to a worker thread that
wraps around a Pino Transport.
const pino = require('pino')
const transport = pino.transport({
target: 'some-transport',
options: { some: 'options for', the: 'transport' }
})
pino(transport)
Multiple transports may also be defined, and specific levels can be logged to each transport:
const pino = require('pino')
const transports = pino.transport({
targets: [{
level: 'info',
target: 'some-transport',
options: { some: 'options for', the: 'transport' }
}, {
level: 'trace',
target: '#pino/file',
options: { destination: '/path/to/store/logs' }
}]
})
pino(transports)
For more on transports, how they work, and how to create them see the Transports documentation
.
- See
Transports
- See
thread-stream
β
`pino.multistream()``
We have embedded a part of pino-multi-stream
into pino itself, so you would be able to write to multiple streams from the same pino instance:
var fs = require('fs')
var pino = require('pino')
var streams = [
{stream: fs.createWriteStream('/tmp/info.stream.out')},
{level: 'debug', stream: fs.createWriteStream('/tmp/debug.stream.out')},
{level: 'fatal', stream: fs.createWriteStream('/tmp/fatal.stream.out')}
]
var log = pino({
level: 'debug' // this MUST be set at the lowest level of all the destinations
}, pino.multistream(streams))
log.debug('this will be written to /tmp/debug.stream.out')
log.info('this will be written to /tmp/debug.stream.out and /tmp/info.stream.out')
log.fatal('this will be written to /tmp/debug.stream.out, /tmp/info.stream.out and /tmp/fatal.stream.out')
This differs from pino.transport()
as all the streams will be executed within the main thread, i.e. the one that created the pino instance.
Added TypeScript types
Types have been added to the the project, so you can now use pino with TypeScript without downloading any additional types: you should remove @types/pino
from your project. The following typescript example would now work correctly:
import { pino } from "pino";
const log = pino();
log.info("hello world");
log.error("this is at error level");
log.info("the answer is %d", 42);
log.info({ obj: 42 }, "hello world");
log.info({ obj: 42, b: 2 }, "hello world");
log. info({ obj: { aa: "bbb" } }, "another");
Breaking Changes
Dropped Node.js v10.x
Node.js v10 went out of LTS/Maintenance in April 2021.
We are dropping support.
Apply err
serializer everywhere
We will start applying the err
serializer also to Error
objects passed in as first argument to log methods, e.g. log.info(new Error('kaboom'))
will pass through the serializer.