发布于2026-07-27 阅读(0)
扫一扫,手机访问
在Debian上跑Node.js应用,日志配置是绕不开的一环。具体怎么做,其实取决于你选的是哪个日志库。下面聊三个最常见的:Winston、Bunyan和Morgan,分别看看它们怎么配。

Winston 最大的特点就是灵活——可以同时塞多个传输通道和自定义格式。配置起来也很直观:
npm install winstonlogger.js,设置传输和格式:const { createLogger, format, transports } = require('winston');
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.printf(({ timestamp, level, message }) => {
return `${timestamp} ${level.toUpperCase()}: ${message}`;
})
),
transports: [
new transports.File({ filename: 'error.log', level: 'error' }),
new transports.File({ filename: 'combined.log' }),
],
});
module.exports = logger;
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
Bunyan 走的是“极简+结构化”路线,输出的是 JSON 格式的日志,方便后续分析和管道处理。配置步骤一样简单:
npm install bunyanlogger.js,指定日志级别和输出流:const bunyan = require('bunyan');
const logger = bunyan.createLogger({
name: 'my-app',
streams: [
{ level: 'info', stream: process.stdout },
{ level: 'error', path: 'error.log' },
{ level: 'info', path: 'combined.log' },
],
});
module.exports = logger;
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
Morgan 是专门给 Express 用的 HTTP 请求日志中间件,开箱即用,但也能定制。配置流程:
npm install morganconst express = require('express');
const morgan = require('morgan');
const app = express();
// 自定义日志格式
morgan.token('customFormat', (req, res) => {
return `${req.method} ${req.url} ${res.statusCode}`;
});
app.use(morgan('customFormat', {
stream: { write: (message) => console.log(message.trim()) }
}));
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
以上只是最基本的配置示例。实际生产环境中,你很可能还需要考虑日志轮转、远程传输(比如发送到日志中心),或者接入集中式日志管理系统。不过有了这三个库的基础配置,剩下的就都是按需拓展了。
上一篇:HDFS监控指标有哪些关键
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8