Ubuntu中Node.js日志错误怎么排查

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

在Ubuntu中排查Node.js日志错误可以通过以下几个步骤进行:

查看系统日志

Ubuntu系统日志通常存储在 /var/log 目录下。您可以使用以下命令查看系统日志:

  • 查看系统日志文件:

    cat /var/log/syslog
    
  • 查看内核日志文件:

    cat /var/log/kern.log
    

使用 journalctl 查看systemd日志

journalctl 是Ubuntu中用于查看和管理systemd日志的工具。您可以使用以下命令来查看与Node.js相关的日志:

  • 打印journald中记录的所有引导项:

    journalctl -b
    
  • 指定日期范围查看日志:

    journalctl --since "2024-01-01 00:00:00" --until "2024-01-31 23:59:59"
    
  • 按照优先级级别过滤日志:

    journalctl -p 3
    

使用日志库

在Node.js应用程序中,推荐使用专门的日志库,如 WinstonBunyan,这些库提供了灵活的日志记录功能,包括日志级别控制、日志输出方式、日志文件轮换等。

使用 Winston 示例:

  1. 安装 Winston:

    npm install winston
    
  2. 配置和使用 Winston:

    const winston = require('winston');
    
    const logger = winston.createLogger({
      level: 'info',
      format: winston.format.json(),
      transports: [
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.File({ filename: 'combined.log' }),
      ],
    });
    
    logger.info('这是一条信息日志');
    logger.error('这是一条错误日志');
    

日志级别和日志轮转

  • 日志级别:正确使用不同级别的日志(如DEBUG, INFO, WARNING, ERROR, CRITICAL),以便根据需要过滤日志。
  • 日志轮转:使用日志库的特性或外部工具(如 winston-daily-rotate-file)来管理日志文件大小,自动删除旧日志或归档。

结构化日志

无论使用哪种方法,建议采用结构化日志格式,这样日志更容易被解析和分析。例如,在使用Winston时,可以通过自定义格式来包含更多元数据和结构。

通过以上步骤和方法,您可以有效地排查和解决Ubuntu中Node.js应用程序的日志错误。

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

推荐阅读: Ubuntu VirtualBox虚拟机如何进行磁盘扩容