Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在控制台中以bunyan显示调试消息_Javascript_Node.js_Logging_Bunyan - Fatal编程技术网

Javascript 在控制台中以bunyan显示调试消息

Javascript 在控制台中以bunyan显示调试消息,javascript,node.js,logging,bunyan,Javascript,Node.js,Logging,Bunyan,我使用以下命令: child.log.info('info'); child.log.debug('debug'); 然而,它只显示信息。不显示调试。我想在控制台中显示调试消息,我做错了什么?创建记录器时,请使用级别选项设置班扬将发出日志消息的级别: node app.js | bunyan -o short -l debug var log = bunyan.createLogger({ level: "debug" }); 类似地,使用level选项设置子记录器将发出日志消息的级别:

我使用以下命令:

child.log.info('info');
child.log.debug('debug');

然而,它只显示信息。不显示调试。我想在控制台中显示调试消息,我做错了什么?

创建记录器时,请使用
级别
选项设置班扬将发出日志消息的级别:

node app.js | bunyan -o short -l debug
var log = bunyan.createLogger({ level: "debug" });
类似地,使用
level
选项设置子记录器将发出日志消息的级别:

node app.js | bunyan -o short -l debug
var log = bunyan.createLogger({ level: "debug" });
实例化时设置的
level
选项确定了bunyan发出的日志消息的最低级别

命令行开关
-l
(或
--level
)只是一个过滤器;它允许通过给定级别或更高级别发出的消息。但是,它没有设置您的bunyan实例发出的日志消息的最低级别

例如,假设我想要一个在
“debug”
级别或更高级别发出日志消息的bunyan实例。我可以将以下内容放入
main.js

var child = log.child({ level: "debug" });
如果从命令行运行以下命令:

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 is for loading and unloading only.");
Eek ork op.
The Red Zone is for loading and unloading only.
我将在输出中看到这一点:

node main.js | bunyan
注意,我没有从命令行过滤任何内容,对
log.trace()的调用也没有打印任何内容

现在,在命令行中键入以下内容:

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 is for loading and unloading only.");
Eek ork op.
The Red Zone is for loading and unloading only.
您将获得:

node main.js | bunyan -l "debug"
和以前一样

现在,试试:

Eek ork op.
The Red Zone is for loading and unloading only.
您仍将获得与以前相同的输出

为什么??因为您的bunyan实例被设置为在
“debug”
级别或更高级别发出消息。命令行开关
-l
只是一个过滤器

最后,尝试:

node main.js | bunyan -l "trace"
这一次,您将只看到:

node main.js | bunyan -l "info"

log.debug()
的调用被过滤掉。

在为不同的日志级别创建流时,创建一个类似调试的流

The Red Zone is for loading and unloading only.
bunyan.createLogger({
姓名:,
溪流:[{
级别:“调试”,
流:process.stdout
}]
});

使用此选项,所有调试日志都将流式传输到控制台。

有关在构造函数中设置级别的参考: