发布于:2021-01-29 14:18:19
0
69
0
在开发期间和部署之后,正确的日志记录对于Web应用程序都具有巨大的实用性。有时可能很难组织日志记录的代码和输出,即知道每个日志消息的来源。我最近发现debug了一个用于组织和优化调试的Node.js实用程序。
创建的实例debug很简单,您可以为每个文件创建多个记录器:
// Create multiple instances of debug
// In theory these would serve two different purposes
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();
为debug实例指定的名称空间必须使用环境变量来指示在运行脚本时哪些记录器应转到STDOUT:
// Show all debugger messages prefixed "worker:_____"
DEBUG=worker:* node app.js
用于发信号通知哪些实例应输出的环境变量策略非常出色,因为您可能只希望某些类型的消息记录在生产与开发中。明智地使用名称空间!
我还可以根据需要使用chalk 彩色消息:
var chalk = require('chalk')
;debuggerA(chalk.red.bold('OMG an awful error!'));
debug 是具有非常简单的目的并且可以很好地完成任务的实用程序之一。在记录信息性消息时请不要大惊小怪-它们会在开发过程中为您提供帮助,并且在安全事件后审核应用程序时可能至关重要!
作者介绍