在 Node.js 中,“调试日志”一般有几种不同含义,下面按常见场景给你说明如何开启。
Node.js 内置了大量 NODE_DEBUG 调试模块,可通过环境变量开启。
NODE_DEBUGNODE_DEBUG=http,net,tls node app.js
常用模块:
httpnettlsfsmoduletimercluster查看所有可用模块:
node -p "process.binding('util').getOptionValue('debug-category-names')"
NODE_DEBUG_NATIVE(C++ 层)NODE_DEBUG_NATIVE=1 node app.js
node --trace --trace-opt --trace-deopt app.js
常用参数:
--trace:函数调用--trace-opt:优化--trace-deopt:反优化--prof:生成 V8 profile 文件node debug app.js
node --inspect app.js
# 或
node --inspect-brk app.js
然后:
chrome://inspectdebug 模块const debug = require('debug')('myapp');
debug('hello');
开启:
DEBUG=myapp node app.js
DEBUG=* node app.js
const winston = require('winston');
winston.level = 'debug';
NODE_DEBUG=http,net \
DEBUG=* \
node --inspect app.js
如果你能说明:
我可以给你更精确的命令。