2.4.3 • Published 3 years ago

@jclem/logfmt2 v2.4.3

Weekly downloads
8,797
License
MIT
Repository
github
Last release
3 years ago

logfmt2

npm.io

logfmt2 (which is based on the original logfmt and the original blog post) is a module for encoding objects into the logfmt format and decoding them again.

Install

npm install @jclem/logfmt2

Build

script/build

Publish

The script/publish script cleans the build directory, builds the project, and then runs npm publish.

script/publish

Usage

const {Logger, encode, decode} = require('@jclem/logfmt2')

console.log(encode({foo: 'bar'})) // foo=bar
console.log(decode('foo=bar')) // {foo: 'bar'}

// Use the static `Logger.log` to stdout
Logger.log({foo: 'bar'}) // logs "foo=bar"

// Create a logger to maintain a logging context
const logger = new Logger({ns: 'my-app'})
logger.log({foo: 'bar'}) // logs "ns=my-app foo=bar"

// Add timers
logger.time('elapsedMs')
// Wait 50ms
logger.log({foo: 'bar'}) // logs "ns=my-app elapsedMs=50 foo=bar"
// Wait 50ms
logger.log({foo: 'bar'}) // logs "ns=my-app elapsedMs=100 foo=bar"

// Add (mutate) the logger context
logger.appendContext({new_context: 'hello'})
logger.log({foo: 'bar'}) // logs "ns=my-app new_context=hello elapsedMs=100 foo=bar"
2.4.3

3 years ago

2.4.2

4 years ago

2.4.0

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

6 years ago