Changelog
v3.4.0 / 2022-01-10
Yesterday's release was done with a higher sense of urgency than usual
due to vandalism in the colors
package.
This release:
The biggest change in this release, motivating the feature-level update, is [#2006] Make winston more ESM friendly, thanks to @miguelcobain.
Thanks also to @DABH, @wbt, and @fearphage for contributions and reviews!
Changelog
v3.3.4 / 2022-01-09
Compared to v3.3.3, this version fixes some issues and includes some updates to project infrastructure, such as replacing Travis with Github CI and dependabot configuration. There have also been several relatively minor improvements to documentation, and incorporation of some updated dependencies. Dependency updates include a critical bug fix [#2008] in response to self-vandalism by the author of a dependency.
Changelog
v3.3.3 / 2020-06-23
Changelog
v3.3.2 / 2020-06-22
diagnostics
published to NPM to avoid git dependency.Changelog
v3.3.1 / 2020-06-21
info.message
and meta.message
.Changelog
v3.3.0 / 2020-06-21
child
property on default logger.Changelog
v3.2.1 / 2019-01-29
createLogger
for level convenience methods (e.g. .info()
, .silly()
).
(Fixes [#1577]).Changelog
v3.2.0 / 2019-01-26
NOTE: this was our first release using Github Projects. See the 3.2.0 Release Project.
new Error(string)
throughout the pipeline(s). (Fixes [#1338], [#1486]).warn
events up to logger in
addition to error
s.readable-stream
using CRA.3.0.0
)exitOnError
.splat
behaviorwinston
and logform
.SPLAT
to formats (Fixes [#1485]).Previously splat
would have added a meta
property for any additional
info[SPLAT]
beyond the expected number of tokens.
As of logform@2.0.0
, format.splat
assumes additional splat paramters
(aka "metas") are objects and merges enumerable properties into the info
.
e.g. BE ADVISED previous "metas" that were not objects will very likely
lead to odd behavior. e.g.
const { createLogger, format, transports } = require('winston');
const { splat } = format;
const { MESSAGE, LEVEL, SPLAT } = require('triple-beam');
const logger = createLogger({
format: format.combine(
format.splat(),
format.json()
),
transports: [new transports.Console()]
});
// Expects two tokens, but four splat parameters provided.
logger.info(
'Let us %s for %j', // message
'objects', // used for %s
{ label: 'sure' }, // used for %j
'lol', ['ok', 'why'] // Multiple additional meta values
);
// winston < 3.2.0 && logform@1.x behavior:
// Added "meta" property.
//
// { level: 'info',
// message: 'Let us objects for {"label":"sure"}',
// meta: ['lol', ['ok', 'why']],
// [Symbol(level)]: 'info',
// [Symbol(message)]: 'Let us %s for %j',
// [Symbol(splat)]: [ 'objects', { label: 'sure' } ] }
// winston >= 3.2.0 && logform@2.x behavior: Enumerable properties
// assigned into `info`. Since **strings and Arrays only have NUMERIC
// enumerable properties we get this behavior!**
//
// { '0': 'ok',
// '1': 'why',
// '2': 'l',
// level: 'info',
// message: 'Let us objects for {"label":"sure"}',
// [Symbol(level)]: 'info',
// [Symbol(message)]: 'Let us %s for %j',
// [Symbol(splat)]: [ 'objects', { label: 'sure' } ] }
README.md
for awaiting logs.ConsoleTransportOptions
interface type definition.child()
method.readable-stream
to v3.0.6
.@types/node
, nyc
, and through2
.Changelog
v3.1.0 / 2018-08-22
consoleWarnLevels
property to console transport options for console.warn
browser support.tailing: true
(Fixes [#1450], [#1194]).isLevelEnabled(string)
& isXXXEnabled()
to Logger
class.package-lock.json
.colors@^1.3.2
(Fixes [#1439]).logform@^1.9.1
.diagnostics@^1.1.1
.@types/node@^10.9.3
.assume@^2.1.0
.hock@^1.3.3
.mocha@^5.2.0
.nyc@^13.0.1
.split2@^3.0.0
.