Browse Source

lib,src: ensure '(node:pid)' prefix for stdout logging

Add '(node:pid)' prefix message for stdout logging

PR-URL: https://github.com/nodejs/node/pull/3833
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
process-exit-stdio-flushing
Minwoo Jung 9 years ago
committed by James M Snell
parent
commit
94b9948d63
  1. 9
      lib/_debugger.js
  2. 3
      lib/_tls_common.js
  3. 6
      lib/events.js
  4. 8
      lib/internal/util.js
  5. 3
      src/env.cc
  6. 2
      test/parallel/test-sync-io-option.js

9
lib/_debugger.js

@ -1,5 +1,6 @@
'use strict'; 'use strict';
const internalUtil = require('internal/util');
const util = require('util'); const util = require('util');
const path = require('path'); const path = require('path');
const net = require('net'); const net = require('net');
@ -31,7 +32,7 @@ exports.start = function(argv, stdin, stdout) {
stdin.resume(); stdin.resume();
process.on('uncaughtException', function(e) { process.on('uncaughtException', function(e) {
console.error("There was an internal error in Node's debugger. " + internalUtil.error('There was an internal error in Node\'s debugger. ' +
'Please report this bug.'); 'Please report this bug.');
console.error(e.message); console.error(e.message);
console.error(e.stack); console.error(e.stack);
@ -520,7 +521,7 @@ Client.prototype.mirrorObject = function(handle, depth, cb) {
cb = cb || function() {}; cb = cb || function() {};
this.reqLookup(propertyRefs, function(err, res) { this.reqLookup(propertyRefs, function(err, res) {
if (err) { if (err) {
console.error('problem with reqLookup'); internalUtil.error('problem with reqLookup');
cb(null, handle); cb(null, handle);
return; return;
} }
@ -1668,7 +1669,7 @@ Interface.prototype.trySpawn = function(cb) {
process._debugProcess(pid); process._debugProcess(pid);
} catch (e) { } catch (e) {
if (e.code === 'ESRCH') { if (e.code === 'ESRCH') {
console.error(`Target process: ${pid} doesn't exist.`); internalUtil.error(`Target process: ${pid} doesn't exist.`);
process.exit(1); process.exit(1);
} }
throw e; throw e;
@ -1737,7 +1738,7 @@ Interface.prototype.trySpawn = function(cb) {
function connectError() { function connectError() {
// If it's failed to connect 10 times then print failed message // If it's failed to connect 10 times then print failed message
if (connectionAttempts >= 10) { if (connectionAttempts >= 10) {
console.error(' failed, please retry'); internalUtil.error(' failed to connect, please retry');
process.exit(1); process.exit(1);
} }
setTimeout(attemptConnect, 500); setTimeout(attemptConnect, 500);

3
lib/_tls_common.js

@ -1,5 +1,6 @@
'use strict'; 'use strict';
const internalUtil = require('internal/util');
const constants = require('constants'); const constants = require('constants');
const tls = require('tls'); const tls = require('tls');
@ -102,7 +103,7 @@ exports.createSecureContext = function createSecureContext(options, context) {
if (options.dhparam) { if (options.dhparam) {
var warning = c.context.setDHParam(options.dhparam); var warning = c.context.setDHParam(options.dhparam);
if (warning) if (warning)
console.trace(warning); internalUtil.trace(warning);
} }
if (options.crl) { if (options.crl) {

6
lib/events.js

@ -1,5 +1,6 @@
'use strict'; 'use strict';
var internalUtil;
var domain; var domain;
function EventEmitter() { function EventEmitter() {
@ -232,7 +233,10 @@ EventEmitter.prototype.addListener = function addListener(type, listener) {
m = $getMaxListeners(this); m = $getMaxListeners(this);
if (m && m > 0 && existing.length > m) { if (m && m > 0 && existing.length > m) {
existing.warned = true; existing.warned = true;
console.error('(node) warning: possible EventEmitter memory ' + if (!internalUtil)
internalUtil = require('internal/util');
internalUtil.error('warning: possible EventEmitter memory ' +
'leak detected. %d %s listeners added. ' + 'leak detected. %d %s listeners added. ' +
'Use emitter.setMaxListeners() to increase limit.', 'Use emitter.setMaxListeners() to increase limit.',
existing.length, type); existing.length, type);

8
lib/internal/util.js

@ -17,6 +17,14 @@ exports.printDeprecationMessage = function(msg, warned) {
return exports._printDeprecationMessage(`${prefix}${msg}`, warned); return exports._printDeprecationMessage(`${prefix}${msg}`, warned);
}; };
exports.error = function(msg) {
console.error(`${prefix}${msg}`);
};
exports.trace = function(msg) {
console.trace(`${prefix}${msg}`);
};
exports._printDeprecationMessage = function(msg, warned) { exports._printDeprecationMessage = function(msg, warned) {
if (process.noDeprecation) if (process.noDeprecation)
return true; return true;

3
src/env.cc

@ -1,6 +1,7 @@
#include "env.h" #include "env.h"
#include "env-inl.h" #include "env-inl.h"
#include "v8.h" #include "v8.h"
#include "unistd.h"
#include <stdio.h> #include <stdio.h>
namespace node { namespace node {
@ -20,7 +21,7 @@ void Environment::PrintSyncTrace() const {
Local<v8::StackTrace> stack = Local<v8::StackTrace> stack =
StackTrace::CurrentStackTrace(isolate(), 10, StackTrace::kDetailed); StackTrace::CurrentStackTrace(isolate(), 10, StackTrace::kDetailed);
fprintf(stderr, "WARNING: Detected use of sync API\n"); fprintf(stderr, "(node:%d) WARNING: Detected use of sync API\n", getpid());
for (int i = 0; i < stack->GetFrameCount() - 1; i++) { for (int i = 0; i < stack->GetFrameCount() - 1; i++) {
Local<StackFrame> stack_frame = stack->GetFrame(i); Local<StackFrame> stack_frame = stack->GetFrame(i);

2
test/parallel/test-sync-io-option.js

@ -20,7 +20,7 @@ if (process.argv[2] === 'child') {
execFile(process.execPath, args, function(err, stdout, stderr) { execFile(process.execPath, args, function(err, stdout, stderr) {
assert.equal(err, null); assert.equal(err, null);
assert.equal(stdout, ''); assert.equal(stdout, '');
if (/^WARNING[\s\S]*fs\.readFileSync/.test(stderr)) if (/WARNING[\s\S]*fs\.readFileSync/.test(stderr))
cntr++; cntr++;
if (args[0] === '--trace-sync-io') { if (args[0] === '--trace-sync-io') {
assert.equal(cntr, 1); assert.equal(cntr, 1);

Loading…
Cancel
Save