aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/logger.js22
-rw-r--r--test/logger.js21
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');
+ });
});