温馨提示×

如何筛选Ubuntu Node.js日志

小樊
74
2025-04-23 04:41:31
栏目: 编程语言

在Ubuntu系统中,筛选Node.js日志可以通过以下几种方法实现:

使用命令行工具

  • tail命令:用于实时查看日志文件的末尾内容。例如,要查看名为 app.log 的日志文件,可以运行 tail -f app.log
  • cat命令:用于查看文件的全部内容。例如,要查看 app.log 文件的内容,可以运行 cat app.log
  • grep命令:用于在文件中搜索指定的文本。例如,要筛选包含关键字 error 的日志行,可以运行 cat app.log | grep "error"

使用PM2管理Node.js应用日志

如果你使用PM2来管理你的Node.js应用,可以使用以下命令来查看日志:

  • 显示所有应用的实时日志:pm2 logs
  • 显示特定应用的日志:pm2 logs app_name
  • 以JSON格式显示所有应用的日志:pm2 logs --json
  • 显示特定应用的日志,并限制显示的行数:pm2 logs app_name --lines 1000
  • 使用仪表盘显示所有应用:pm2 monit
  • 让输出日志加上时间戳:pm2 start app.js --time 7*24

使用日志库

在生产环境中,建议使用专门的日志库(如Winston、Bunyan或Pino)来记录日志。这些库提供了更多的功能,如日志级别、日志格式化和日志轮转。

例如,使用Winston日志库的简单示例:

const winston = require('winston');

// 创建 logger 实例
const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: './logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: './logs/combined.log' })
  ]
});

// 使用 logger
logger.info('Hello World!');
logger.error('This will get logged to error.log');

通过上述方法,可以有效地在Ubuntu系统中筛选和管理Node.js日志,帮助快速定位和解决问题。

0