Allow suppressing console messages. (#18)

* Forward logLevel option to SocketCluster

* Use logLevel config to suppress own console msgs.

* Fix typo.
This commit is contained in:
Rômulo Fernandes 2016-08-09 05:37:02 -03:00 committed by Mihail Diordiev
parent cc896b5e7e
commit 749dd15253
2 changed files with 22 additions and 5 deletions

View File

@ -7,6 +7,7 @@ module.exports = function getOptions(argv) {
key: argv.key || process.env.npm_package_remotedev_key || null, key: argv.key || process.env.npm_package_remotedev_key || null,
cert: argv.cert || process.env.npm_package_remotedev_cert || null, cert: argv.cert || process.env.npm_package_remotedev_cert || null,
passphrase: argv.passphrase || process.env.npm_package_remotedev_passphrase || null passphrase: argv.passphrase || process.env.npm_package_remotedev_passphrase || null
} },
logLevel: argv.logLevel
}; };
} }

View File

@ -3,6 +3,12 @@ var repeat = require('repeat-string');
var getOptions = require('./getOptions'); var getOptions = require('./getOptions');
var getPort = require('getport'); var getPort = require('getport');
var LOG_LEVEL_NONE = 0;
var LOG_LEVEL_ERROR = 1;
var LOG_LEVEL_WARN = 2;
var LOG_LEVEL_INFO = 3;
module.exports = function(argv) { module.exports = function(argv) {
var SocketCluster = require('socketcluster').SocketCluster; var SocketCluster = require('socketcluster').SocketCluster;
var options = assign(getOptions(argv), { var options = assign(getOptions(argv), {
@ -10,16 +16,26 @@ module.exports = function(argv) {
allowClientPublish: false allowClientPublish: false
}); });
var port = options.port; var port = options.port;
var logLevel = options.logLevel === undefined ? LOG_LEVEL_INFO : options.logLevel;
return new Promise(function(resolve) { return new Promise(function(resolve) {
// Check port already used // Check port already used
getPort(port, function(err, p) { getPort(port, function(err, p) {
if (err) return console.error(err); if (err) {
if (logLevel >= LOG_LEVEL_ERROR) {
console.error(err);
}
return;
}
if (port !== p) { if (port !== p) {
if (logLevel >= LOG_LEVEL_WARN) {
console.log('[RemoteDev] Server port ' + port + ' is already used.'); console.log('[RemoteDev] Server port ' + port + ' is already used.');
}
resolve({ portAlreadyUsed: true, on: function(status, cb) { cb(); } }); resolve({ portAlreadyUsed: true, on: function(status, cb) { cb(); } });
} else { } else {
if (logLevel >= LOG_LEVEL_INFO) {
console.log('[RemoteDev] Start server...'); console.log('[RemoteDev] Start server...');
console.log(repeat('-', 80) + '\n'); console.log(repeat('-', 80) + '\n');
}
resolve(new SocketCluster(options)); resolve(new SocketCluster(options));
} }
}); });