在 Linux 下“导出 JS 日志”通常分几种场景,下面按常见情况给你说明:
浏览器里的 JS 日志不能直接在 Linux 服务器上导出,因为日志在用户浏览器中。
前端用 console + 上报接口:
window.onerror = function (msg, url, line) {
fetch('/log', {
method: 'POST',
body: JSON.stringify({ msg, url, line })
});
};
后端(Node / Nginx / Java)接收并写文件。
node app.js > app.log 2>&1
如 winston / pino:
const winston = require('winston');
winston.add(new winston.transports.File({ filename: 'app.log' }));
导出日志:
cat app.log
# 或
scp app.log user@ip:/path
pm2 logs app --lines 1000 > app.log
cat /var/log/nginx/access.log
只看 JS 文件请求:
grep '\.js' /var/log/nginx/access.log > js.log
docker logs container_name > js.log 2>&1
实时导出:
docker logs -f container_name >> js.log
# 查看
tail -f app.log
# 导出某时间段
sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' app.log
# 压缩
tar czf js_logs.tar.gz app.log
如果你能说明:
我可以给你更精确的命令。