Debian 环境下 JavaScript 日志常见问题与排查
一 常见错误类型与典型特征
console.log(a) 且 a 未定义。undefined.id 或 null.x。new Array(-20),或递归过深导致“Maximum call stack size exceeded”。encodeURI/decodeURI 等处理非法 URI 时抛出。eval() 使用不当(现代环境较少见)。ReferenceError: module is not defined)、依赖未安装或路径错误导致的加载失败等。二 快速定位与修复要点
if (obj && obj.x) { ... },或使用可选链 obj?.x。node_modules 完整、require/import 路径正确,必要时重新安装依赖。三 日志体量过大与系统资源问题
/var/log/myapp/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0644 node node }sudo logrotate -d /etc/logrotate.conf;强制执行:sudo logrotate -f /etc/logrotate.conffind ... -mtime +7 -delete 或定时任务清理历史日志,避免磁盘被占满。debug/trace),仅保留 info/warn/error。四 高效检索与分析命令
grep -n 'SyntaxError' /var/log/myapp/app.loggrep -n 'TypeError' /var/log/node/*.logtail -f /var/log/myapp/app.log | grep --line-buffered 'ERROR'journalctl -u myapp.service -fgrep '2025-12-24.*ERROR' /var/log/myapp/app.log