在 Linux 环境下“定位 JS 错误日志”通常分 前端 JS(浏览器) 和 后端 JS(Node.js) 两种场景。下面分别说明。
前端 JS 错误不会直接写在 Linux 系统日志里,而是通过以下方式定位:
前端代码里加全局捕获:
window.onerror = function (msg, url, line, col, error) {
console.error(msg, url, line, col, error);
};
或使用:
window.addEventListener('error', e => {
// 上报到服务器
});
错误可发送到:
如果是 JS 请求接口失败:
# Nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
# Apache
tail -f /var/log/apache2/access.log
node app.js
错误会直接打印在终端。
如果是后台运行:
pm2 logs
pm2 logs app_name
tail -f nohup.out
journalctl -u your-node-service -f
process.on('uncaughtException', err => {
console.error('Uncaught:', err);
});
process.on('unhandledRejection', err => {
console.error('Unhandled:', err);
});
/var/log/logs/docker logs -f container_name
如果你能补充:
我可以给你更精确的命令。