Package Exports
- @jclem/logfmt2
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@jclem/logfmt2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
logfmt2
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/logfmt2Build
script/buildPublish
The script/publish script cleans the build directory, builds the project, and then runs npm publish.
script/publishUsage
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"