在 Ubuntu 系统上排查 Ja vaScript 错误,具体怎么操作,其实完全取决于你用的是哪种运行环境。不同环境有不同的“脾气”,摸对了路子,问题很快就浮出水面。
-
Node.js 应用场景
如果你跑的是 Node.js 应用,那最直接的办法就是用
console.error()把错误信息打到控制台。当然,项目复杂了之后,最好还是借助 Winston、Morgan 这类日志库来统一管理——它们不仅能记录错误,还能控制日志级别、输出格式,甚至自动归档。不过,很多新手容易忽略的是:启动 Node 应用时,可以顺手把输出重定向到文件。这样即使终端关了,错误记录也不会丢。命令长这样:
node app.js > error.log 2>&1这一行会把标准输出和标准错误统统塞进
error.log文件里,省得你来回翻终端历史。 -
浏览器环境
浏览器里看 JS 错误,基本就是按 F12 或者右键“检查”打开开发者工具,然后切到“控制台”选项卡。这里会列出所有未捕获的异常、语法错误、变量未定义等,附带堆栈调用信息,直接复制粘贴就能拿去分析。
还有一个容易被低估的“网络”选项卡。很多 JS 错误其实是因为请求失败导致的——比如接口返回 404、跨域被拦截、超时等。重新加载页面,在“网络”面板里看每个请求的状态码、响应头和响应体,往往能快速定位到罪魁祸首。
-
Nginx 或 Apache 服务器场景
如果你的 JS 应用部署在 Nginx 或 Apache 后面,那错误日志的配置就得去服务器配置文件里找。对于 Nginx,在
nginx.conf中定位error_log指令;对于 Apache,则在httpd.conf或apache2.conf里找ErrorLog指令。设置好日志级别后,就能在指定路径下看到详细的错误记录。举个例子,Nginx 里这样写就能开启 debug 级别的日志:
error_log /var/log/nginx/error.log debug;Apache 的配置也类似:
ErrorLog /var/log/apache2/error.log需要注意的是,生产环境一般不建议开 debug 级别,否则日志会膨胀得很快。日常排查用 warn 或 error 级别就够了。
总的来说,Ubuntu 下查看 JS 错误日志并不复杂,关键是根据你的运行环境选择正确的工具和配置。如果还有其他疑问,随时可以细聊。