商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Node.js在Debian中的日志如何配置

Node.js在Debian中的日志如何配置

  发布于2026-07-27 阅读(0)

扫一扫,手机访问

在Debian上跑Node.js应用,日志配置是绕不开的一环。具体怎么做,其实取决于你选的是哪个日志库。下面聊三个最常见的:Winston、Bunyan和Morgan,分别看看它们怎么配。

Node.js在Debian中的日志如何配置

Winston

Winston 最大的特点就是灵活——可以同时塞多个传输通道和自定义格式。配置起来也很直观:

  • 先安装:npm install winston
  • 然后创建一个日志配置文件,比如 logger.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

Bunyan 走的是“极简+结构化”路线,输出的是 JSON 格式的日志,方便后续分析和管道处理。配置步骤一样简单:

  • 安装:npm install bunyan
  • 创建 logger.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

Morgan 是专门给 Express 用的 HTTP 请求日志中间件,开箱即用,但也能定制。配置流程:

  • 安装:npm install morgan
  • 在 Express 应用里挂载它,并自定义日志格式:
const 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');
});

以上只是最基本的配置示例。实际生产环境中,你很可能还需要考虑日志轮转、远程传输(比如发送到日志中心),或者接入集中式日志管理系统。不过有了这三个库的基础配置,剩下的就都是按需拓展了。

本文转载于:https://www.yisu.com/ask/1979138.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注