HEX
Server: Apache/2.4.25
System: Linux webserver1.dinartechshare-e.com 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
User: smkmuhsayung (1029)
PHP: 8.0.3
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/lib/node_modules/pm2/node_modules/log-driver/index.js
var util = require('util');

var LogDriver = function(options){
  options = options || {};
  var logger = this;
  if (options.format){
    this.format = options.format;
  }
  this.levels = options.levels || ['error', 'warn', 'info', 'debug', 'trace'];
  if (options.level === false){
    this.level = false;  // don't log anything
  } else {
    this.level = options.level || this.levels[this.levels.length - 1];
    if (this.levels.indexOf(this.level) === -1){
      throw new Error("Log level '" +
                      this.level +
                      "' does not exist in level list '" + JSON.stringify() + "'");
    }
  }
  this.levels.forEach(function(level){
    if (logLevelShouldOutput(level, logger.level, logger.levels)){
      logger[level] = function(){
        var args = Array.prototype.slice.call(arguments);
        args.unshift(level);  // log level is added as the first parameter
        console.log(logger.format.apply(logger, args));
      };
    } else {
      logger[level] = function(){/* no-op, because this log level is ignored */};
    }
  });
};

var logLevelShouldOutput = function(logLevel, configuredLevel, levels){
  if (configuredLevel === false){
    return false;
  }
  return (levels.indexOf(logLevel) <= levels.indexOf(configuredLevel));
};

LogDriver.prototype.format = function(){
  var args = Array.prototype.slice.call(arguments, [1]); // change arguments to an array, but
                                                         // drop the first item (log level)
  var out = "[" + arguments[0] + "] " + JSON.stringify(new Date()) + " ";
  args.forEach(function(arg){
    out += " " + util.inspect(arg);
  });
  return out;
};

var defaultLogger = null;

var factory = function(options){
  defaultLogger = new LogDriver(options);
  factory.logger = defaultLogger;
  return defaultLogger;
};

factory();

module.exports = factory;