debug-logfmt
 
Highlights
- Based on the popular debugmodule.
- Lazy level evaluation used logs levels.
- Level support: info,warn&errorbased from RFC 5424.
- Message formatting Heroku logfmt syntax.
- Colorized output via DEBUG_COLORSby default.
- debug.durationfor measurement.
Install
$ npm install debug-logfmt --saveUsage
Multiple levels
Given a code like this one:
const debug = require('debug-logfmt')('metascraper')
debug('retry', { url: 'https://kikobeats.com' })
debug.info('done', { time: Date.now() })
debug.warn('token expired', { timestamp: Date.now() })
debug.error('whoops', { message: 'expected `number`, got `NaN`' })You can:
- Allow all the levels: DEBUG=debug-logfmt*
- Discard specific levels: DEBUG="*,-metascraper:info*" node example.js
Measurement
Sometimes you need to log the duration of a function:
const { setTimeout } = require('timers/promises')
const debug = require('debug-logfmt')('metascraper')
const duration = debug.duration()
setTimeout(1001).then(() => duration.error('timeout!'))
setTimeout(1100).then(() => duration.info('success'))API
debug(env, [options])
env
Required
Type: string
The env variable name to use for enabling logging using DEBUG.
options
levels
Type: array
Default: ['debug', 'info', 'warn', 'error']
The log levels available.
debug.duration([...args])
It returns a function will print the duration in the next call.
const duration = debug.duration('query')
const result = await db.query(query)
duration(result)License
debug-logfmt © Kiko Beats, released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.
kikobeats.com · GitHub Kiko Beats · X @Kikobeats
 Kikobeats
Kikobeats