javascript - Show debug messages in console in bunyan -
child.log.info('info'); child.log.debug('debug');
i use following command:
node app.js | bunyan -o short -l debug
however shows info. not show debug. i'd ot display debug messages in console, doing wrong?
when create logger, use level
option set level @ bunyan emit log messages:
var log = bunyan.createlogger({ level: "debug" });
similarly, use level
option set level @ child loggers emit log messages:
var child = log.child({ level: "debug" });
this level
option set @ time of instantiation determines minimum level of log message emitted bunyan.
the command line switch -l
( or --level
) filter; allows through messages emitted @ given level or above. but, not set minimum level of log message emitted instance of bunyan.
for example, suppose want instance of bunyan emits log messages @ "debug"
level or higher. can put following in main.js
:
var bunyan = require("bunyan"); var log = bunyan.createlogger({ level: "debug" }); log.trace("nitty gritty info here."); log.debug("eek ork op."); log.info("the red zone loading , unloading only.");
if run following command line:
node main.js | bunyan
i see in output:
eek ork op. red zone loading , unloading only.
notice didn't filter command line , call log.trace()
didn't print anything, either.
now, type command line:
node main.js | bunyan -l "debug"
you'll get:
eek ork op. red zone loading , unloading only.
the same before.
now, try:
node main.js | bunyan -l "trace"
you'll still same output before.
why? because instance of bunyan set emit messages @ "debug"
level or higher. command-line switch -l
filter.
finally, try:
node main.js | bunyan -l "info"
this time, you'll see:
the red zone loading , unloading only.
the call log.debug()
filtered out.
Comments
Post a Comment