multilog
v14.11.22
Published
Tagged logging. Includes multi-streamed logging and filtering.
Downloads
4,266
Readme
Multilog
a fun and collateral way to print logs
Each statement you log is associated to a tag, and some tags can be associated to writable streams.
You can also file tags under other tags, so that all statements in a child tag are printed to the parent tag's writable stream!
API
var log = require('multilog');
log('Curse your sudden but inevitable betrayal!', 'stderr');
You get the following functions:
log(statement, tag)
function printsstatement
intag
channel (defaulting to the special "stdout" channel).log.pipe(parentTag, tag)
makes allparentTag
statements be on thetag
channel.log.unpipe(parentTag, tag)
undoes the correspondingpipe
operation.
By default, pipes flow into void.
You can connect them to a writable stream
with log.pipe(tag, process.stdout)
.
You can also ask that their logs be retained with log.retain(tag)
.
You can then read from them (and from all tags that feeds to them)
through log.read(tag)
, and flush the memory with log.flush(tag)
.
Advanced use:
log.tags(statement, tagList)
printsstatement
on multiple tags.log.stream(tag)
returns a duplex Stream for a retained tag.
There are two special tags, stdout
and stderr
, which directly flush their
statements to the corresponding pipeline.
Authorship
Thaddee Tyl © 2012-2014 released under .