阅读量:2
在Debian上集成Node.js日志系统,可以遵循以下步骤:
1. 安装Node.js
首先,确保你的Debian系统上已经安装了Node.js。你可以使用以下命令来安装:
sudo apt update
sudo apt install nodejs npm
2. 选择日志库
Node.js有许多日志库可供选择,例如winston、morgan、pino等。这里我们以winston为例。
安装Winston
使用npm安装winston:
npm install winston
3. 配置Winston
创建一个日志配置文件,例如logger.js,并配置Winston:
const { createLogger, format, transports } = require('winston');
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
format.printf(({ timestamp, level, message }) => {
return `${timestamp} ${level}: ${message}`;
})
),
transports: [
new transports.File({ filename: 'error.log', level: 'error' }),
new transports.File({ filename: 'combined.log' })
]
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new transports.Console({
format: format.simple()
}));
}
module.exports = logger;
4. 在应用中使用Winston
在你的Node.js应用中引入并使用配置好的logger:
const express = require('express');
const logger = require('./logger');
const app = express();
app.get('/', (req, res) => {
logger.info('Hello World!');
res.send('Hello World!');
});
app.use((err, req, res, next) => {
logger.error(err.stack);
res.status(500).send('Something broke!');
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
logger.info(`Server is running on port ${PORT}`);
});
5. 日志轮转
为了防止日志文件过大,可以使用winston-daily-rotate-file来实现日志轮转。
安装winston-daily-rotate-file
npm install winston-daily-rotate-file
更新日志配置
更新logger.js文件,添加日志轮转功能:
const { createLogger, format, transports } = require('winston');
const DailyRotateFile = require('winston-daily-rotate-file');
const transport = new DailyRotateFile({
filename: 'application-%DATE%.log',
datePattern: 'YYYY-MM-DD-HH',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d'
});
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
format.printf(({ timestamp, level, message }) => {
return `${timestamp} ${level}: ${message}`;
})
),
transports: [
transport,
new transports.File({ filename: 'error.log', level: 'error' }),
new transports.File({ filename: 'combined.log' })
]
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new transports.Console({
format: format.simple()
}));
}
module.exports = logger;
6. 运行应用
现在你可以运行你的Node.js应用,并查看日志文件:
node app.js
日志文件将会每天自动轮转,并且保留最近14天的日志文件。
通过以上步骤,你就可以在Debian上成功集成Node.js日志系统,并实现日志的记录和轮转。
以上就是关于“如何在Debian上集成Node.js日志系统”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm