【问题标题】:NodeJs deployment on cPanel: Missing Passenger.log and stderr.log filescPanel 上的 NodeJs 部署:缺少 Passenger.log 和 stderr.log 文件
【发布时间】:2021-12-29 19:56:45
【问题描述】:

我已将我的 NodeJs 应用程序部署在两个不同的共享 Web 托管服务器上。第一个自动生成stderr.log 文件并有一个passenger 文件。但是,第二台服务器没有,因此我无法看到部署错误。我在网上查看过,但找不到任何可以解决我的问题的方法。我也联系了服务器的客户服务,但他们不是很有帮助。请告诉我如何创建stderr.log 或passenger.log 文件!非常感谢!

【问题讨论】:

    标签: node.js deployment cpanel web-deployment logfile


    【解决方案1】:

    必须将以下内容添加到启动文件中(例如app.js)才能生成错误日志。不需要在其他服务器提供商上执行此操作,因为这是他们系统中的默认设置。

    var fs = require('fs');
    var util = require('util');
    var log_file = fs.createWriteStream(__dirname + '/debug.log', {flags : 'w'});
    var log_stdout = process.stdout;
    var log_stderr = process.stderr;
    
    console.log = function(d) { //
      log_file.write(util.format(d) + '\n');
      log_stdout.write(util.format(d) + '\n');
      log_stderr.write(util.format(d) + '\n');
    };
    
    // var out = fs.openSync('./output.log', 'a')
    //   , err = fs.openSync('./error.log', 'a');
    
    // require('child_process').spawn('./server', [], {
    //     detached    : true,
    //     stdio       : ['ignore', out, err]
    // });
    
    var access = fs.createWriteStream(__dirname + '/stdout.log', {flags : 'w'});
    process.stdout.write = process.stderr.write = access.write.bind(access);
    
    process.on('uncaughtException', function(err) {
      console.error((err && err.stack) ? err.stack : err);
    });
    

    【讨论】:

      猜你喜欢
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 2022-11-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      相关资源
      最近更新 更多