温馨提示×

ubuntu中nodejs日志如何查看

小樊
53
2025-10-16 00:02:02
栏目: 编程语言

Ubuntu中查看Node.js日志的常用方法

1. 直接查看应用程序日志文件

若Node.js应用将日志输出到指定文件(如通过fs模块、winston等库配置),可使用以下命令查看:

  • 查看完整日志cat /path/to/app.log(替换为实际日志文件路径);
  • 实时跟踪最新日志tail -f /path/to/app.log(按Ctrl+C退出实时模式);
  • 筛选关键词日志grep "error" /path/to/app.log(仅显示包含“error”的行,支持正则表达式)。
    日志文件路径通常由应用配置决定,常见位置如项目根目录下的logs文件夹(如./logs/app.log)或自定义路径(如/var/log/nodejs/app.log)。

2. 通过systemd服务查看日志

若应用以systemd服务运行(需提前创建服务文件),可使用journalctl命令查看系统日志:

  • 查看服务日志journalctl -u your-nodejs-service-name(替换为实际服务名称,如my-nodejs-app);
  • 实时跟踪服务日志journalctl -u your-nodejs-service-name -f
  • 筛选服务日志journalctl -u your-nodejs-service-name | grep "keyword"
    服务名称可通过systemctl status your-nodejs-service-name命令确认。

3. 使用进程管理工具查看日志

若应用由pm2进程管理器管理(常见于生产环境),可使用pm2 logs命令查看:

  • 查看所有应用日志pm2 logs
  • 查看特定应用日志pm2 logs your-app-name(替换为实际应用名称,可通过pm2 list确认);
  • 实时跟踪特定应用日志pm2 logs your-app-name --lines 100(显示最近100行并实时跟踪)。
    pm2日志默认存储在/root/.pm2/logs目录下,文件名为<app-name>-out.log(标准输出)和<app-name>-err.log(错误输出)。

4. 代码层日志库查看

若应用使用日志库(如winstonbunyan),日志通常输出到配置的文件中:

  • winston示例:配置transports将日志写入文件,如:
    const winston = require('winston');
    const logger = winston.createLogger({
      level: 'info',
      transports: [
        new winston.transports.File({ filename: '/var/log/nodejs/app.log' }) // 指定日志路径
      ]
    });
    logger.info('This is an info log.'); // 日志将写入/var/log/nodejs/app.log
    
    查看命令:tail -f /var/log/nodejs/app.log

5. 辅助命令增强日志查看

  • 分页查看日志less /path/to/app.log(按空格翻页,q退出);
  • 查看日志文件头部head -n 20 /path/to/app.log(显示前20行);
  • 统计错误日志数量grep -c "error" /path/to/app.log(统计包含“error”的行数)。

以上方法覆盖了Ubuntu环境下Node.js日志的常见查看场景,可根据应用的运行方式(直接运行、systemd服务、pm2管理)和日志配置选择合适的方式。

0