首页主机资讯Ubuntu中Node.js日志文件位置在哪

Ubuntu中Node.js日志文件位置在哪

时间2025-10-11 21:29:03发布访客分类主机资讯浏览1387
导读:Ubuntu中Node.js日志文件的常见位置及查找方法 1. 无特殊配置:默认输出到控制台 若未在代码或启动命令中指定日志文件路径,Node.js应用默认会将日志(如console.log( 、console.error( 的输出)直接打...

Ubuntu中Node.js日志文件的常见位置及查找方法

1. 无特殊配置:默认输出到控制台

若未在代码或启动命令中指定日志文件路径,Node.js应用默认会将日志(如console.log()console.error()的输出)直接打印到终端控制台,不会生成本地日志文件。此时需通过重定向将日志保存到文件(见下文“自定义日志路径”部分)。

2. 使用PM2进程管理器:默认路径为~/.pm2/logs/

若通过PM2管理Node.js应用(如pm2 start app.js),日志会自动存储在用户主目录下的.pm2/logs/目录中。文件名格式为:

  • < 应用名称> -out.log:标准输出日志(包含console.log等内容);
  • < 应用名称> -err.log:标准错误日志(包含console.error等内容)。
    例如,应用名为my-node-app时,日志路径为~/.pm2/logs/my-node-app-out.log~/.pm2/logs/my-node-app-err.log

3. 自定义代码配置:取决于代码中的路径设置

若在代码中通过fs模块或第三方日志库(如winstonlog4js)配置了日志路径,日志会存储在指定的目录中。常见示例:

  • 使用fs模块:
    const fs = require('fs');
        
    const logFilePath = './logs/app.log';
     // 相对路径(项目根目录下的logs文件夹)
    const logStream = fs.createWriteStream(logFilePath, {
     flags: 'a' }
        );
        
    global.console = new console.Console(logStream, logStream);
        
    console.log('This log is written to ./logs/app.log');
        
    
    此时日志会存储在项目根目录的logs/app.log文件中。
  • 使用winston库:
    const winston = require('winston');
    
    const logger = winston.createLogger({
    
      transports: [
        new winston.transports.File({
     filename: '/var/log/my-node-app/app.log' }
    ) // 绝对路径
      ]
    }
        );
        
    logger.info('This log is written to /var/log/my-node-app/app.log');
        
    
    日志会存储在/var/log/my-node-app/app.log中。

4. 系统服务日志:通过journalctl查看

若将Node.js应用作为系统服务(如使用systemd创建.service文件)运行,日志会集成到Ubuntu系统日志中,可通过journalctl命令查看。例如:

  • 查看指定服务的日志:
    journalctl -u my-nodejs-app -f  # -f表示实时跟踪日志
    
    其中my-nodejs-app是服务的名称(需与.service文件中的[Service]部分Description一致)。

5. 自定义命令行重定向:指定输出文件

启动应用时,可通过命令行将标准输出(stdout)和标准错误(stderr)重定向到指定文件。例如:

node app.js >
     ./logs/app.log 2>
    &
    1 &
      
  • > :将标准输出重定向到./logs/app.log
  • 2> & 1:将标准错误合并到标准输出;
  • & :让应用在后台运行。
    此时日志会存储在项目根目录的logs/app.log文件中。

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


若转载请注明出处: Ubuntu中Node.js日志文件位置在哪
本文地址: https://pptw.com/jishu/724021.html
Node.js日志错误在Ubuntu上怎么解决 如何使用nohup命令在Linux中实现多进程管理

游客 回复需填写必要信息