ubuntu

Ubuntu下Node.js日志配置方法

小樊
42
2025-10-30 17:24:48
栏目: 编程语言

Ubuntu下Node.js日志配置方法

1. 使用内置console.log(基础调试)

console.log是Node.js最简单的日志方式,适合开发阶段快速输出信息。可通过字符串模板添加时间戳等信息增强可读性:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  console.log(`[${new Date().toISOString()}] INFO: Request received at ${req.url}`);
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`[${new Date().toISOString()}] INFO: Server running at http://localhost:${port}/`);
});

缺点:无法灵活控制日志级别、格式或持久化存储,不适合生产环境。

2. 使用第三方日志库(推荐生产环境)

2.1 Winston(通用灵活)

Winston是Node.js最流行的日志库,支持多传输(控制台、文件、远程服务器等)、日志级别和格式化。

优点:功能全面,支持日志分级、格式化和多目标输出,适合复杂应用。

2.2 Morgan(HTTP请求日志中间件)

Morgan专门用于记录HTTP请求日志,适合Express/Koa等框架,可将请求信息输出到文件或控制台。

优点:专注于HTTP请求日志,格式规范,便于分析请求流量和性能。

3. 日志轮转(防止日志过大)

当日志文件过大时,需通过轮转压缩旧日志,节省存储空间。常用winston-daily-rotate-file库实现每日轮转。

优点:自动化管理日志文件,避免磁盘空间耗尽。

4. 使用PM2管理日志(进程与日志分离)

PM2是Node.js进程管理工具,可自动重启应用并提供日志管理功能,适合生产环境部署。

优点:无需手动管理进程和日志,支持日志分割、压缩和远程存储,提升应用稳定性。

5. 通过环境变量配置日志级别

通过环境变量动态调整日志级别,适应不同环境(开发/测试/生产)的需求。

优点:无需修改代码即可调整日志输出,提升灵活性。

0
看了该问题的人还看了