在 Debian 上开启 Node.js 调试日志,取决于你想调试的“层次”不同,方法也不一样。下面按常见场景给你说明。
NODE_DEBUGNode.js 内置了一些模块级别的调试日志:
NODE_DEBUG=http,net,tls node app.js
常用模块名:
httpnettlsclustermoduletimerfs示例:
NODE_DEBUG=* node app.js
(会输出所有支持的调试信息,日志量很大)
node --trace-gc app.js
node --trace-gc-verbose app.js
查看更底层的 V8 日志:
node --log --prof app.js
生成 v8.log,可用:
node --prof-process v8.log
console.debug / console.logconsole.debug('debug info');
设置日志级别(Node 14+):
NODE_DEBUG=* node app.js
--inspect(Chrome DevTools)node --inspect app.js
远程调试:
node --inspect=0.0.0.0:9229 app.js
然后用 Chrome 打开:
chrome://inspect
npm config set loglevel verbose
npm install
或临时:
npm install --loglevel silly
日志位置:
~/.npm/_logs/
编辑 service 文件:
sudo systemctl edit your-node.service
加入:
[Service]
Environment=NODE_DEBUG=http,net
然后:
sudo systemctl daemon-reload
sudo systemctl restart your-node.service
查看日志:
journalctl -u your-node.service -f
NODE_DEBUG=http,net node --trace-warnings app.js
如果你能说明:
我可以给你更精确的开启方式。