NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1758 most downloaded on npm
An mutable object-based log format designed for chaining & objectMode streams.
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.4 years
Nearly every release is documented
notes for 31 of 32 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
32 releases · first in 2017
Bump nyc from 15.1.0 to 17.1.0 ( #327 ) c99d5c9
One column per quarter.
Add example files to .npmignore 28d44b2
Add engines.node field to package.json, matching winston dc72f30
The triple-beam types package has been promoted to a full dependency, by first-time contributor @carboneater (Thanks!) in #243 to fix #242 .
2023/02/07
The triple-beam types package has been promoted to a full dependency, by first-time contributor @carboneater (Thanks!)
in #243 to fix #242.
Now incompatible with TypeScript < 4.4 due to PR #240 , as pointed out in #244 .
2023/02/06
All the improvements in this release are from first-time contributors - thanks for your contributions!
2023/02/06
All the improvements in this release are from first-time contributors - thanks for your contributions!
This patch-level release includes a fix for a crash on attempt to uncolorize Symbol. Thanks to @Alexsey for that first contribution in #188 .
This patch-level release includes a fix for a crash on attempt to uncolorize Symbol.
Thanks to @Alexsey for that first contribution in #188.
Line break styles were changed to be LF (instead of CRLF) more consistently so that linter warnings aren't drowned out by notes about that.
2022/07/05
This patch-level release includes a fix for a crash on attempt to uncolorize Symbol. Thanks to @Alexsey for that first contribution in https://github.com/winstonjs/logform/pull/188.
Line break styles were changed to be LF (instead of CRLF) more consistently so that linter warnings aren't drowned out by notes about that.
Feature: Implement issue templates by @maverick1872 in #149
Full Changelog: v2.4.0...v2.4.1
2022/06/21
Update changelog for 2.4.0 release 6e9ce5d
2022/02/12
CliFormat (this was likely a typo originally)safe-stable-stringify 2.x options as parameters in JsonOptionsThis update, which also used up version number 2.3.1, pinned the version of the colors dependency due to vandalism by a developer of that package, as
This update, which also used up version number 2.3.1, pinned the version of the colors dependency due to vandalism by a developer of that package, as noted here.
As discussed in the winston package, all users should update to this (or a later version, should one exist) ASAP.
Nothing published for this version
Removing some superfluous semicolons & commas lint
2021/09/21
Update Travis Node versions; Node < 10 no longer maintained 571bcdf
https://github.com/winstonjs/logform/compare/2.1.2...v2.2.0
2020/06/21
[#74] Remove all internal symbols before invoking util.inspect.
2019/01/31
util.inspect.
[#71] Bump logform to be consistent with winston.
2019/01/29
[#59], [#68], [#69] Add error normalizing format.
2019/01/07
{ all: true } is set, colorize the entire serialized message.BREAKING [#57] Try better fix for [winston#1485]. See: New `splat` behavior` below.
2018/12/23
README.mdsplat behaviorPreviously 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.
const { format } = require('logform');
const { splat } = format;
const { MESSAGE, LEVEL, SPLAT } = require('triple-beam');
console.log(
// Expects two tokens, but three splat parameters provided.
splat().transform({
level: 'info',
message: 'Let us %s for %j',
[LEVEL]: 'info',
[MESSAGE]: 'Let us %s for %j',
[SPLAT]: ['objects', { label: 'sure' }, { thisIsMeta: 'wut' }]
})
);
// logform@1.x behavior:
// Added "meta" property.
//
// { level: 'info',
// message: 'Let us objects for {"label":"sure"}',
// meta: { thisIsMeta: 'wut' },
// [Symbol(level)]: 'info',
// [Symbol(message)]: 'Let us %s for %j',
// [Symbol(splat)]: [ 'objects', { label: 'sure' } ] }
// logform@2.x behavior:
// Enumerable properties assigned into `info`.
//
// { level: 'info',
// message: 'Let us objects for {"label":"sure"}',
// thisIsMeta: 'wut',
// [Symbol(level)]: 'info',
// [Symbol(message)]: 'Let us %s for %j',
// [Symbol(splat)]: [ 'objects', { label: 'sure' } ] }
The reason for this change is to be consistent with how winston itself
handles meta objects in its variable-arity conventions.
BE ADVISED previous "metas" that were not objects will very likely lead to odd behavior. e.g.
const { format } = require('logform');
const { splat } = format;
const { MESSAGE, LEVEL, SPLAT } = require('triple-beam');
console.log(
// Expects two tokens, but three splat parameters provided.
splat().transform({
level: 'info',
message: 'Let us %s for %j',
[LEVEL]: 'info',
[MESSAGE]: 'Let us %s for %j',
// !!NOTICE!! Additional parameters are a string and an Array
[SPLAT]: ['objects', { label: 'sure' }, 'lol', ['ok', 'why']]
})
);
// 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' } ] }
// logform@2.x behavior: Enumerable properties assigned into `info`.
// **Strings and Arrays only have NUMERIC enumerable properties!**
//
// { '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' } ] }
[#52] Add types field in package.json.
2018/09/17
[#39] Don't break when there are % placeholders but no values.
2018/06/26
meta when non-zero additional SPLAT arguments are
provided. (Fixes [winstonjs/winston#1358]).[#38] Migrate functionality from winston Logger to splat format.
2018/06/12
winston@2.x for padLevels. Create a correct Cli format with initial state. (Fixes [#36]).[#35] Use fast-safe-stringify for perf and to support circular refs.
2018/06/11
fast-safe-stringify for perf and to support circular refs.[#28] Use more es6-features across the board.
2018/05/24
[#25] Implement padLevels format.
2018/04/25
dependencies and add node@10 to the travis build of the project.[#23], (@ChrisAlderson) Add ms format to support '+N ms' format. Fixes #20.
2018/04/22
webpack warnings..travis.yml.[#22], (@Jasu) Fix compilation on Babel 6.
2018/04/19
[#21], (@dabh) Add tsconfig.json. Fixes #19.
2018/04/06
[#14] @iamkirkbater Added Initial Metadata Support.
2018/03/23
[#18] Expose browser.js for rollup and the like. Fixes [#5].
2018/03/16
[#4], [#11] Fix timestamp and replace date-fns with fecha (with test cases) [@ChrisAlderson].
2017/12/05
date-fns with fecha (with test cases) [@ChrisAlderson].[#3] Strip info.splat in format.simple to avoid double inclusion.
2017/10/01
info.splat in format.simple to avoid double inclusion.Transition from info.raw to info[Symbol.for('message')].
2017/09/30
info.raw to info[Symbol.for('message')].README.md except for full list of all built-in formats.{ align, cli, padLevels }.[#2] Add baseline expected formats that were previously exposed as options to common.log in winston@2.x and below.
2017/09/29
common.log in winston@2.x and below.format.combine to remove inconsistency in behavior between format(fn0) and format(fn0, ...moreFns).README.md now covers all of the basics for logform.[winstonjs/winston#1358]: https://github.com/winstonjs/winston/issues/1358
2017/09/26
Your coding agent can read these notes before it upgrades. Set up the MCP server →