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,
cert: argv.cert || process.env.npm_package_remotedev_cert || 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 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) {
var SocketCluster = require('socketcluster').SocketCluster;
var options = assign(getOptions(argv), {
@ -10,16 +16,26 @@ module.exports = function(argv) {
allowClientPublish: false
});
var port = options.port;
var logLevel = options.logLevel === undefined ? LOG_LEVEL_INFO : options.logLevel;
return new Promise(function(resolve) {
// Check port already used
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) {
console.log('[RemoteDev] Server port ' + port + ' is already used.');
if (logLevel >= LOG_LEVEL_WARN) {
console.log('[RemoteDev] Server port ' + port + ' is already used.');
}
resolve({ portAlreadyUsed: true, on: function(status, cb) { cb(); } });
} else {
console.log('[RemoteDev] Start server...');
console.log(repeat('-', 80) + '\n');
if (logLevel >= LOG_LEVEL_INFO) {
console.log('[RemoteDev] Start server...');
console.log(repeat('-', 80) + '\n');
}
resolve(new SocketCluster(options));
}
});