- 第1节:Node.js 教程
- 第2节:Node.js 安装配置
- 第3节:Node.js 创建第一个应用
- 第4节:Node.js NPM 使用介绍
- 第5节:Node.js REPL(交互式解释器)
- 第6节:Node.js 回调函数
- 第7节:Node.js 事件循环
- 第8节:Node.js EventEmitter
- 第9节:Node.js Buffer(缓冲区)
- 第10节:Node.js Stream(流)
- 第11节:Node.js 模块系统
- 第12节:Node.js 函数
- 第13节:Node.js 路由
- 第14节:Node.js 全局对象
- 第15节:Node.js 常用工具util
- 第16节:Node.js 文件系统
- 第17节:Node.js GET/POST请求
- 第18节:Node.js 工具模块
- 第19节:Node.js Web 模块
- 第20节:Node.js Express 框架
- 第21节:Node.js RESTful API
- 第22节:Node.js 多进程
- 第23节:Node.js JXcore 打包
- 第24节:Node.js 连接 MySQL
- 第25节:Node.js 连接 MongoDB
- 第26节:关于 Node.js
- 第27节:Node.js 示例
- 第28节:Node.js 断言测试
- 第29节:Node.js 事件
- 第30节:Node.js Punycode
- 第31节:Node.js Buffer
- 第32节:Node.js 文件系统
- 第33节:Node.js Query Strings
- 第34节:Node.js C/C++ 插件
- 第35节:Node.js 逐行读取
- 第36节:Node.js 全局对象
- 第37节:Node.js 子进程
- 第38节:Node.js REPL
- 第39节:Node.js HTTP
- 第40节:Node.js 集群
- 第41节:Node.js Smalloc
- 第42节:Node.js HTTPS
- 第43节:Node.js 控制台
- 第44节:Node.js 模块
- 第45节:Node.js 加密
- 第46节:Node.js 流
- 第47节:Node.js 网络
- 第48节:Node.js 调试器
- 第49节:Node.js 字符串解码器
- 第50节:Node.js 系统
- 第51节:Node.js DNS
- 第52节:Node.js 定时器
- 第53节:Node.js 路径
- 第54节:Node.js 域
- 第55节:Node.js TLS/SSL
- 第56节:Node.js 进程
- 第57节:Node.js TTY
- 第58节:Node.js UDP/Datagram
- 第59节:Node.js URL
- 第60节:Node.js 实用工具
- 第61节:Node.js 虚拟机
- 第62节:Node.js ZLIB
Node.js 控制台
稳定性: 4 - 冻结
- {Object}
Node.js的console模块提供了一个简单的调试控制台。
Node.js控制台的作用是可以将输出字符打印到stdout(标准输出)和stderr(标准错误)。类似于大部分浏览器提供的console对象函数,Node也是输出到stdout和 stderr。
如果输出目标是终端或文件的时候,console函数是同步的(这是为了防止意外的退出而导致数据丢失),输出是管道的时候是异步的(防止阻塞时间太长)。
下面的例子里,stdout是非阻塞的,而stderr是阻塞的:
$ node script.js 2> error.log | tee info.log
平常使用过程中,只有发现大批量的数据时,才会考虑阻塞或非阻塞问题。
console.log([data][, ...])
输出到stdout并新起一行。和printf()
类似,stdout可以传入多个参数,例如:
var count = 5;
console.log('count: %d', count);
// prints 'count: 5'
如果第一个字符里没有找到格式化的元素,util.inspect
将会应用到各个参数,参见util.format()
console.info([data][, ...])
参见console.log
。
console.error([data][, ...])
参见console.log
,不同的是打印到stderr。
console.warn([data][, ...])
参见console.error
。
console.dir(obj[, options])
在obj
使用util.inspect
,并打印结果到stdout,而这个函数绕过inspect()
。options
参数可能传入以下几种:
showHidden
- 如果是true
,将会展示对象的非枚举属性,默认是false
。depth
-inspect
对象递归的次数,对于复杂对象的扫描非常有用。默认是2
。想要严格递归,传入null
。colors
- 如果是true
,输出会格式化为 ANSI 颜色代码。默认是false
。颜色可以定制,下面会介绍。
console.time(label)
标记一个时间点。
console.timeEnd(label)
计时器结束的时候,记录输出,例如:
console.time('100-elements');
for (var i = 0; i < 100; i++) {
;
}
console.timeEnd('100-elements');
// prints 100-elements: 262ms
console.trace(message[, ...])
输出当前位置的栈跟踪到stderr'Trace :'
。
console.assert(value[, message][, ...])
和assert.ok()类似, 但是错误的输出格式为:util.format(message...)
。