diff options
| -rw-r--r-- | lib/logger.js | 22 | ||||
| -rw-r--r-- | test/logger.js | 21 |
2 files changed, 37 insertions, 6 deletions
diff --git a/lib/logger.js b/lib/logger.js index 985b67b..30a6c60 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -1,8 +1,18 @@ module.exports = function(){ - if (process.argv[2]) { - if (~['-v', '--verbose'].indexOf(process.argv[2])) { - return require('log-driver')({level : 'debug'}); - } - } - return require('log-driver')({level : 'warn'}); + return require('log-driver')({level : getLogLevel()}); }; + +function getLogLevel(){ + if (hasVerboseCommandLineOption() || hasDebugEnvVariable()) { + return 'debug'; + } + return 'warn'; +} + +function hasVerboseCommandLineOption(){ + return process.argv[2] && ~['-v', '--verbose'].indexOf(process.argv[2]); +} + +function hasDebugEnvVariable(){ + return process.env.NODE_COVERALLS_DEBUG == 1; +} diff --git a/test/logger.js b/test/logger.js index c6899db..61d20bc 100644 --- a/test/logger.js +++ b/test/logger.js @@ -8,4 +8,25 @@ describe("logger", function(){ var logger = require('../index').logger(); logger.level.should.equal('debug'); }); + + it ("should log at debug level when NODE_COVERALLS_DEBUG is set in env", function(){ + process.argv = []; + process.env.NODE_COVERALLS_DEBUG = 1; + var logger = require('../index').logger(); + logger.level.should.equal('debug'); + }); + + it ("should log at debug level when NODE_COVERALLS_DEBUG is set in env as a string", function(){ + process.argv = []; + process.env.NODE_COVERALLS_DEBUG = '1'; + var logger = require('../index').logger(); + logger.level.should.equal('debug'); + }); + + it ("should log at warn level when NODE_COVERALLS_DEBUG not set and no --verbose", function(){ + process.argv = []; + process.env.NODE_COVERALLS_DEBUG = 0; + var logger = require('../index').logger(); + logger.level.should.equal('warn'); + }); }); |
