在 Debian 上“监控 JS 日志”通常取决于 JS 运行在哪里:
下面按常见场景给你一套可落地的做法。
如果 Node 日志写入文件:
tail -f /var/log/node/app.log
或 PM2 日志:
pm2 logs
pm2 logs appname
如果你用 systemd 跑 Node:
journalctl -u node-app.service -f
查看错误:
journalctl -u node-app.service -p err -f
示例(Node → stdout → journald → Loki)
Node 常用:
winstonpino(高性能)bunyan示例(pino):
const pino = require('pino')
const logger = pino({ level: 'info' })
logger.info('server started')
logger.error('db error', err)
浏览器日志 不在 Debian 上,但你可以:
前端捕获:
window.onerror = function (msg, url, line, col, err) {
navigator.sendBeacon('/log', JSON.stringify({
msg, url, line, col, stack: err?.stack
}))
}
Debian 端接收并落盘:
/var/log/js/frontend.log
然后:
tail -f /var/log/js/frontend.log
tail -f app.log | grep --line-buffered "ERROR"
apt install inotify-tools
inotifywait -m /var/log/js/
fail2banprometheus + alertmanagergrafana loki| 场景 | 推荐 |
|---|---|
| 本地调试 | tail -f |
| Node 服务 | pm2 + pino |
| 生产环境 | systemd + Loki |
| 前端 JS | Sentry |
如果你能告诉我:
我可以直接给你一套完整配置。