您的位置:首页 >Ubuntu Node.js日志文件如何管理
发布于2026-04-28 阅读(0)
扫一扫,手机访问

管理好日志,是保障Node.js应用稳定运行和高效排查问题的基本功。今天,我们就来梳理一套在Ubuntu环境下,从应用到系统再到集中管理的完整日志方案。
在动手配置之前,先明确几个核心原则,这能让后续工作事半功倍。
理论说完了,我们直接看代码。先从应用内部如何生成和管理日志开始。
// logger.js
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
new winston.transports.File({ filename: 'logs/combined.log' }),
],
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({ format: winston.format.simple() }));
}
module.exports = logger;
// logger-rotate.js
const winston = require('winston');
const DailyRotateFile = require('winston-daily-rotate-file');
const transport = new DailyRotateFile({
filename: 'logs/application-%DATE%.log',
datePattern: 'YYYY-MM-DD',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d',
});
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [transport],
});
module.exports = logger;
另外,对于Express应用,别忘了可以用 `morgan` 中间件将HTTP访问日志无缝接入到Winston(或其他日志库)中,保持日志流的统一。
应用层做好了,我们来看看系统层面有哪些工具可以帮我们更好地管理这些日志文件。
/path/to/your/nodejs/app/logs/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
sudo logrotate -f /etc/logrotate.d/nodejs-app
pm2 start app.js --name my-app
pm2 set pm2:log-date-format "YYYY-MM-DD HH:mm:ss"
pm2 set pm2:max-size "20M"
pm2 set pm2:retain "14d"
pm2 logs my-app
PM2的日志默认存放在 `~/.pm2/logs/` 目录下,会自动为每个应用生成 `.log`(标准输出)和 `.err.log`(错误输出)文件,并自动进行轮转。
[Service]
ExecStart=/usr/bin/node /path/to/app.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=yourapp
之后,就可以用熟悉的 `journalctl` 命令来查看应用日志了:
journalctl -u yourapp -f
if $programname == 'nodejs' then /var/log/nodejs.log
& stop
记得配置完成后重启rsyslog服务使其生效:`sudo systemctl restart rsyslog`。
当应用规模上去,服务器数量增多时,分散的日志就成了运维的痛点。这时,集中式日志管理方案就该登场了。
最后,我们来总结一份可对照执行的维护清单,确保日志管理始终处于健康状态。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9