如何在Ubuntu上设置Node.js日志

771
2025/4/15 3:32:06
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上设置Node.js应用程序的日志可以通过多种方式实现,以下是一些常见的方法:

方法一:使用内置的console.log

最简单的方法是使用Node.js内置的console.log方法来记录日志。这种方法适用于开发和调试阶段。

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

app.get('/', (req, res) => {
  console.log('Request received at', new Date());
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

方法二:使用winston日志库

winston是一个流行的Node.js日志库,提供了多种传输方式(如文件、控制台、HTTP等)。

  1. 安装winston
npm install winston
  1. 创建一个日志配置文件(例如logger.js):
const { createLogger, format, transports } = require('winston');

const logger = createLogger({
  level: 'info',
  format: format.combine(
    format.timestamp(),
    format.json()
  ),
  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;
  1. 在你的应用程序中使用winston
const express = require('express');
const logger = require('./logger');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  logger.info('Request received at', new Date());
  res.send('Hello World!');
});

app.listen(port, () => {
  logger.info(`Server running at http://localhost:${port}/`);
});

方法三:使用morgan日志中间件

morgan是一个HTTP请求记录中间件,适用于Express应用程序。

  1. 安装morgan
npm install morgan
  1. 在你的Express应用程序中使用morgan
const express = require('express');
const morgan = require('morgan');
const app = express();
const port = 3000;

app.use(morgan('combined'));

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

方法四:使用pm2进行进程管理

pm2是一个进程管理器,可以自动重启应用程序,并提供日志管理功能。

  1. 安装pm2
npm install pm2 -g
  1. 启动你的Node.js应用程序并使用pm2管理:
pm2 start app.js --name my-app
  1. 查看日志:
pm2 logs my-app

通过这些方法,你可以在Ubuntu上有效地设置和管理Node.js应用程序的日志。选择哪种方法取决于你的具体需求和应用场景。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: PHPStorm在Ubuntu怎样解决兼容问题