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.