温馨提示×

Debian JS日志怎么配置

小樊
33
2026-07-27 12:22:55
栏目: 编程语言

在 Debian 系统里,“JS 日志”通常指 JavaScript 运行环境(Node.js)前端 JS 在浏览器/Nginx 里产生的日志。下面按常见场景给你一个完整配置指南。


一、Node.js 应用日志配置(最常见)

1️⃣ 使用内置 console(简单但不推荐生产)

console.log('info');
console.error('error');

日志会输出到:

  • 前台运行:stdout / stderr
  • systemd 管理:journalctl

2️⃣ 使用日志库(推荐)

✅ 常用库

  • winston(最常用)
  • pino(高性能)
  • bunyan

Winston 示例

npm install winston
const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.info('服务启动');
logger.error('出错了');

日志路径建议:

/var/log/myapp/

3️⃣ Debian 下日志目录权限

sudo mkdir -p /var/log/myapp
sudo chown -R node:node /var/log/myapp

二、使用 systemd 管理 Node.js(推荐)

1️⃣ 创建 service

sudo nano /etc/systemd/system/myapp.service
[Unit]
Description=Node.js App
After=network.target

[Service]
Type=simple
User=node
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/node index.js
Restart=always
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

2️⃣ 查看 JS 日志

journalctl -u myapp -f

三、PM2 管理 Node.js(最省事)

1️⃣ 安装

npm install -g pm2

2️⃣ 启动

pm2 start index.js --name myapp

3️⃣ 查看日志

pm2 logs myapp

日志默认位置:

~/.pm2/logs/

四、Nginx 场景(前端 JS / 接口日志)

1️⃣ Nginx 访问日志

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

2️⃣ JS 错误(前端)

前端 JS 不能直接写服务器日志,但可以:

window.onerror = function (msg, url, line) {
  fetch('/log', {
    method: 'POST',
    body: JSON.stringify({ msg, url, line })
  });
};

后端接收并写日志。


五、logrotate(防止日志爆炸)

sudo nano /etc/logrotate.d/myapp
/var/log/myapp/*.log {
  daily
  rotate 7
  compress
  missingok
  notifempty
  create 0640 node node
}

六、总结(推荐方案)

场景 推荐
Node.js 服务 Winston + systemd
快速部署 PM2
前端 JS 接口上报
日志管理 logrotate

如果你能具体说一下:

  • 是 Node.js 还是前端 JS?
  • 用什么方式运行(systemd / PM2 / Docker)?
  • 想记录到文件还是 journal?

我可以直接给你一份 可复制的配置文件

0