博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
『翻译』Node.js 调试
阅读量:6419 次
发布时间:2019-06-23

本文共 1086 字,大约阅读时间需要 3 分钟。

原文链接:

不管在开发中还是部署后,适当的日志记录对于web应用来说非常有用。困难的是如何组织日志代码和输出日志,简单来说:知道每个日志的来源。我最近找到一种实用的组织和优化Node.js调试的方法。

创建一个 debug 实例很简单,并且可以为每个文件创建多个 logger

// Create multiple instances of debug(创建多个debug实例)// In theory these would serve two different purposes(理论上这两个debug实例分别负责不同的日志输出)var debuggerA = require('debug')('worker:a'),    debuggerB = require('debug')('worker:b');// Sample usages of the debugger(演示调试器的用法)function work() {  debuggerA('doing lots of uninteresting work');  setTimeout(work, Math.random() * 1000);}work();function workb() {  debuggerB('doing some work');  setTimeout(workb, Math.random() * 2000);}workb();复制代码

logger

你必须定义环境变量,用于给调试器实例分配命名空间。当脚本运行时,日志应该输出到 STDOUT

// Show all debugger messages prefixed "worker:_____"(所有debugger的前缀都为 "worker:_____")DEBUG=worker:* node app.js复制代码

当使用环境变量的方式,当你只想在开发或生产环境记录某种类型的消息,输出的日志会很清晰。命名空间的使用多么明智!

我还可能使用 chalk 为消息加上我想要的颜色:

var chalk = require('chalk');debuggerA(chalk.red.bold('OMG an awful error!'));复制代码

调试具有非常简单的目的,为了帮助我们更好的完成任务。当涉及到记录信息消息时不要吝啬,它会在开发过程中帮助你,并且在安全事件发生后更好的审视自身!

本文译者:余震(Freak)

译文出处:
版权声明:本博客所有文章除特别声明外,均采用 许可协议。转载请注明出处!

你可能感兴趣的文章
.Net组件程序设计之线程、并发管理(一)
查看>>
Python--day6--面向对象学习
查看>>
Linux 4.0+内核对硬件交换模块的支持(HW Switch Offload)
查看>>
Spring boot 通用配置文件模板
查看>>
Linux在线安装git(亲测成功)
查看>>
网络爬虫的第一个实例
查看>>
拒绝背后黑手的窥探IPC$漏洞大揭秘
查看>>
DBImport v3.0 中文版发布-支持各大数据库数据互导(IT人员必备工具)
查看>>
WCF服务在JavaScript中使用ASP.NET的AJAX方法
查看>>
谈一谈Cocos2d-x中的某些“大小”
查看>>
加强网站安全、重构公司的门户网站项目(C# VS2003)
查看>>
windows下ACS服务器的认证(h3c)【路由器、交换机】
查看>>
Android通过Socket与服务器进行通信
查看>>
你看到的都是错的!——虚拟化技术的真相
查看>>
打印机的一些高级设置
查看>>
好用的Java数学表达式计算工具——Exp4j
查看>>
浅谈ListBox在Windows Phone 7 中的使用(2)
查看>>
FreeBSD下挂载EXT2,FAT32,NTFS文件系统解决方案下挂载EXT2,FAT32,NTFS文件系统解决方案...
查看>>
拦截器实现文件过滤
查看>>
App-V 4.6 SP1系列之一安装
查看>>