logd
v5.3.0
Published
A powerful modular logging facility for node.js
Readme
logd
A powerful modular logging facility for node.js
Using Logd
In the main file of your application or library, import the module, define a namespace and set a transport for the log output.
import logd from 'logd';
// define the module we're logging from
const log = logd.module('my-service');
// start logging
log.info('some information');
// you may pass as many arguments as you like
// to the log methods
log.error('something went wrong', err, {some: 'data'});Test runners: capture logs without console noise
On Node, you can register a sink that receives every LogMessage after the usual enable/level filters. Use replace so the default console transport is skipped (for example when a worker forwards lines to a parent process).
import logd from 'logd';
logd.enableLogs();
logd.registerLogSink((message) => {
// forward message.getValues(), message.getModuleName(), message.getLogLevel(), etc.
}, 'replace'); // or 'mirror' to keep printing to the console as wellCall registerLogSink(null) to clear the sink. Sink callbacks must not throw; errors inside a sink are swallowed so logging never breaks.
Enable logs: Node
node mysript.js --lnode mysript.js --l --warnnode mysript.js --lognode mysript.js --log --level=debugEnable logs: Browser
in the console
logd.enable();logd.enable('error');