首页主机资讯Node.js日志错误代码Ubuntu怎么查

Node.js日志错误代码Ubuntu怎么查

时间2025-10-31 01:22:03发布访客分类主机资讯浏览382
导读:Ubuntu系统中查看Node.js日志错误代码的方法 1. 查看应用程序直接输出的日志 若Node.js应用在前台运行(如通过node app.js启动),错误信息会直接打印到终端,通常以**Error:为前缀,或包含HTTP状态码**(...

Ubuntu系统中查看Node.js日志错误代码的方法

1. 查看应用程序直接输出的日志

若Node.js应用在前台运行(如通过node app.js启动),错误信息会直接打印到终端,通常以**Error:为前缀,或包含HTTP状态码**(如404、500)。若需长期保存日志,可将输出重定向到文件:

node app.js >
     app.log 2>
    &
    1

其中> 将标准输出重定向到app.log2> & 1将标准错误输出合并到标准输出,实现错误日志的集中存储。

2. 使用命令行工具筛选错误日志

对于已保存的日志文件(如app.log),可通过以下命令快速查找错误信息:

  • grep筛选错误关键字
    grep 'Error' app.log          # 查找包含"Error"的行
    grep -i 'error' app.log       # 忽略大小写查找
    
  • 筛选HTTP错误状态码
    grep -E '4[0-9]{
    2}
    |5[0-9]{
    2}
        ' app.log  # 查找4xx(客户端错误)或5xx(服务器错误)
    
  • 实时查看日志更新
    tail -f app.log               # 实时显示日志文件末尾内容,按Ctrl+C退出
    

这些命令可结合使用,例如tail -f app.log | grep 'Error'可实时监控并筛选错误信息。

3. 通过系统日志查看(若应用作为服务运行)

若Node.js应用以系统服务(如systemd)运行,可使用journalctl命令查看关联日志:

sudo journalctl -u your-node-service.service  # 替换为你的服务名称

例如,若服务名称为node-app.service,则命令为sudo journalctl -u node-app.service。该命令会显示服务的所有日志,包括错误信息。

4. 使用日志管理库增强日志功能

为更高效地管理错误日志,推荐使用第三方日志库(如Winston),将错误日志单独保存到指定文件:

  • 安装Winston
    npm install winston
    
  • 配置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.error('This is an error message', {
     stack: new Error().stack }
        );
        
    

配置后,错误日志会单独保存到error.log文件,便于快速定位问题。

5. 常见错误码含义(辅助排查)

日志中的错误代码(如EADDRINUSEENOENT)是解决问题的关键线索,常见错误码及含义如下:

  • EADDRINUSE:端口已被占用(如Error: listen EADDRINUSE :::3000),解决方法:终止占用端口的进程(lsof -i :3000查看进程ID,kill -9 < PID> 终止)。
  • ENOENT:文件或目录不存在(如Error: ENOENT: no such file or directory, open '/path/to/file'),解决方法:检查文件路径是否正确。
  • EACCES:权限不足(如Error: EACCES: permission denied, open '/var/log/node.log'),解决方法:修改文件/目录权限(chmod 644 /var/log/node.log)。
  • ECONNREFUSED:连接被拒绝(如Error: connect ECONNREFUSED 127.0.0.1:8080),解决方法:检查目标服务是否启动、防火墙设置或URL是否正确。
  • ETIMEDOUT:操作超时(如Error: connect ETIMEDOUT 192.168.1.1:80),解决方法:检查网络连接、增加超时时间(如axiostimeout配置)。

通过以上方法,可快速定位并解决Node.js应用中的错误。若需更高级的日志分析(如可视化),可结合ELK Stack、Graylog等工具,但基础排查可通过命令行和日志库完成。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Node.js日志错误代码Ubuntu怎么查
本文地址: https://pptw.com/jishu/739532.html
Linux Overlay的版本兼容性 Ubuntu Node.js日志轮转技巧

游客 回复需填写必要信息