summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/internal/process/warning.js18
-rw-r--r--src/node_config.cc5
2 files changed, 13 insertions, 10 deletions
diff --git a/lib/internal/process/warning.js b/lib/internal/process/warning.js
index 2238bc2577..698e73d97f 100644
--- a/lib/internal/process/warning.js
+++ b/lib/internal/process/warning.js
@@ -1,11 +1,18 @@
'use strict';
-const config = internalBinding('config');
const prefix = `(${process.release.name}:${process.pid}) `;
const { ERR_INVALID_ARG_TYPE } = require('internal/errors').codes;
exports.setup = setupProcessWarnings;
+let options;
+function lazyOption(name) {
+ if (!options) {
+ options = require('internal/options');
+ }
+ return options.getOptionValue(name);
+}
+
var cachedFd;
var acquiringFd = false;
function nop() {}
@@ -49,11 +56,11 @@ function onAcquired(message) {
};
}
-function acquireFd(cb) {
+function acquireFd(warningFile, cb) {
if (cachedFd === undefined && !acquiringFd) {
acquiringFd = true;
if (fs === null) fs = require('fs');
- fs.open(config.warningFile, 'a', onOpen(cb));
+ fs.open(warningFile, 'a', onOpen(cb));
} else if (cachedFd !== undefined && !acquiringFd) {
cb(null, cachedFd);
} else {
@@ -62,8 +69,9 @@ function acquireFd(cb) {
}
function output(message) {
- if (typeof config.warningFile === 'string') {
- acquireFd(onAcquired(message));
+ const warningFile = lazyOption('--redirect-warnings');
+ if (warningFile) {
+ acquireFd(warningFile, onAcquired(message));
return;
}
writeOut(message);
diff --git a/src/node_config.cc b/src/node_config.cc
index 27ec44b8d3..a8ffac2cc1 100644
--- a/src/node_config.cc
+++ b/src/node_config.cc
@@ -90,11 +90,6 @@ static void Initialize(Local<Object> target,
"bits",
Number::New(env->isolate(), 8 * sizeof(intptr_t)));
- const std::string& warning_file = env->options()->redirect_warnings;
- if (!warning_file.empty()) {
- READONLY_STRING_PROPERTY(target, "warningFile", warning_file);
- }
-
Local<Object> debug_options_obj = Object::New(isolate);
READONLY_PROPERTY(target, "debugOptions", debug_options_obj);