在Debian上解决Node.js日志问题可从以下方面入手:
确保日志目录存在且权限正确,Node.js进程以正确用户运行:
sudo mkdir -p /var/log/node-app
sudo chown -R nodeuser:nodegroup /var/log/node-app
sudo chmod -R 755 /var/log/node-app
sudo -u nodeuser node app.js
使用logrotate工具自动管理日志大小和数量:
sudo apt-get install logrotate/etc/logrotate.d/下创建文件,如node-app):/var/log/node-app/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
sudo logrotate -f /etc/logrotate.d/node-app使用日志库(如winston)统一格式并控制级别:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info', // 生产环境建议用info或warn
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
pm2 monit或node --inspect调试。info或warn。pino)减少对应用性能的影响。