Example #1
0
function writeLogFile (cb) {
  if (writingLogFile) return cb()
  writingLogFile = true
  wroteLogFile = true

  var fs = require("graceful-fs")
    , fstr = fs.createWriteStream("npm-debug.log")
    , util = require("util")
    , eol = process.platform === "win32" ? "\r\n" : "\n"
    , out = ""

  log.record.forEach(function (m) {
    var pref = [m.id, m.level]
    if (m.prefix) pref.push(m.prefix)
    pref = pref.join(' ')

    m.message.trim().split(/\r?\n/).map(function (line) {
      return (pref + ' ' + line).trim()
    }).forEach(function (line) {
      out += line + eol
    })
  })

  fstr.end(out)
  fstr.on("close", cb)
}
Example #2
0
function writeLogFile () {
  if (wroteLogFile) return

  var os = require('os')

  try {
    mkdirp.sync(path.resolve(npm.config.get('cache'), '_logs'))
    var logOutput = ''
    log.record.forEach(function (m) {
      var pref = [m.id, m.level]
      if (m.prefix) pref.push(m.prefix)
      pref = pref.join(' ')

      m.message.trim().split(/\r?\n/).map(function (line) {
        return (pref + ' ' + line).trim()
      }).forEach(function (line) {
        logOutput += line + os.EOL
      })
    })
    writeFileAtomic.sync(getLogFile(), logOutput)

    // truncate once it's been written.
    log.record.length = 0
    wroteLogFile = true
  } catch (ex) {
    return
  }
}
Example #3
0
function writeLogFile(cwd) {
  let logOutput = "";

  log.record.forEach(m => {
    let pref = [m.id, m.level];
    if (m.prefix) {
      pref.push(m.prefix);
    }
    pref = pref.join(" ");

    m.message
      .trim()
      .split(/\r?\n/)
      .map(line => `${pref} ${line}`.trim())
      .forEach(line => {
        logOutput += line + os.EOL;
      });
  });

  // this must be synchronous because it is called before process exit
  writeFileAtomic.sync(path.join(cwd, "lerna-debug.log"), logOutput);

  // truncate log after writing
  log.record.length = 0;
}
Example #4
0
function onExit(code) {
  if (CliError._tempToken) {
    log.error('token', 'temporary token was not cleaned up!');
    log.error('token', CliError._tempToken);
    log.error('token', 'Make sure the above token is deleted from the server');
    if (!code) {
      code = 'ETOKEN';
    }
  }
  if (code) {
    log.error('argv', process.argv);
    log.error('--version', require('../package.json').version);
    log.error('code', code);

    var out = '';
    log.record.forEach(function(m) {
      var pref = [m.id, m.level];
      if (m.prefix) {
        pref.push(m.prefix);
      }
      pref = pref.join(' ');
      m.message.trim().split(/\r?\n/).map(function(line) {
        return (pref + ' ' + line).trim();
      }).forEach(function(line) {
        out += line + os.EOL;
      });
    });
    fs.writeFileSync('fxa-debug.log', out);
    log.error('', 'Additional logging details can be found in:');
    log.error('', '    ', path.resolve('fxa-debug.log'));
  } else {
    if (fs.existsSync('fxa-debug.log')) {
      fs.unlinkSync('fxa-debug.log');
    }
    log.info('ok');
  }
}
Example #5
0
function writeLogFile (cb) {
  if (writingLogFile) return cb()
  writingLogFile = true
  wroteLogFile = true

  var fstr = writeStream('npm-debug.log')
  var os = require('os')
  var out = ''

  log.record.forEach(function (m) {
    var pref = [m.id, m.level]
    if (m.prefix) pref.push(m.prefix)
    pref = pref.join(' ')

    m.message.trim().split(/\r?\n/).map(function (line) {
      return (pref + ' ' + line).trim()
    }).forEach(function (line) {
      out += line + os.EOL
    })
  })

  fstr.end(out)
  fstr.on('close', cb)
}
Example #6
0
function writeLogFile (cb) {
  if (writingLogFile) return cb()
  writingLogFile = true
  wroteLogFile = true

  var fstr = writeStreamAtomic("npm-debug.log")
    , os = require("os")
    , out = ""

  log.record.forEach(function (m) {
    var pref = [m.id, m.level]
    if (m.prefix) pref.push(m.prefix)
    pref = pref.join(" ")

    m.message.trim().split(/\r?\n/).map(function (line) {
      return (pref + " " + line).trim()
    }).forEach(function (line) {
      out += line + os.EOL
    })
  })

  fstr.end(out)
  fstr.on("close", cb)
}