在Linux系统中,Node.js应用程序的日志管理可以通过多种工具和策略来实现。以下是一些常用的方法和工具:
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' }),
new winston.transports.Console(),
],
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({ format: winston.format.simple() }));
}
logger.info('Server started on port 3000');
logger.error('Database connection failed');
创建一个名为/etc/logrotate.d/nodejs
的配置文件:
/var/log/nodejs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
}
这个配置表示每天轮转日志文件,保留最近7天的日志,压缩旧日志,并且只有root用户才能读取。
通过以上方法和工具,可以有效地在Linux环境下管理Node.js应用程序的日志,确保应用程序的稳定运行和高效运维。[4,6,7,9,10,11,12,13,14,15,16]