在 Debian 系统上监控 JavaScript(JS)日志,取决于 JS 运行环境(Node.js、浏览器、前端构建工具等)。下面按常见场景给你一套实用方案。
如果 Node.js 是前台运行:
node app.js
日志会直接输出到终端。
如果是后台运行(如 pm2、systemd),需要查看对应输出。
PM2 是 Node.js 最常用的进程管理器,自带日志管理。
npm install -g pm2
pm2 start app.js --name my-app
pm2 logs my-app
pm2 logs my-app --lines 100
pm2 logs my-app --raw
~/.pm2/logs/
如果你用 systemd:
journalctl -u your-node-service -f
journalctl -u your-node-service -n 200
推荐日志库:
winstonpinobunyan示例(winston):
const winston = require('winston');
const logger = winston.createLogger({
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
logger.info('JS 日志测试');
查看:
tail -f combined.log
F12 → Console前端 JS 日志不能直接在 Debian 上看,但可以:
✅ 使用 日志上报系统
示例:
window.onerror = function (msg, url, line) {
fetch('/log', {
method: 'POST',
body: JSON.stringify({ msg, url, line })
});
};
如果 JS 通过 HTTP 请求报错:
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
tail -f app.log
less +F app.log
sudo apt install multitail
multitail /var/log/nginx/access.log /var/log/nginx/error.log
sudo apt install lnav
lnav app.log
✅ JS 报错但没日志?
try/catch 吞掉异常uncaughtException✅ Node.js 未捕获异常
process.on('uncaughtException', err => {
console.error('未捕获异常:', err);
});
✅ Node.js + PM2 + Winston + lnav ✅ 前端 + Sentry ✅ 系统级:journalctl + nginx 日志
如果你愿意,可以告诉我:
我可以给你一套针对你环境的完整监控方案。