Skip to content

Commit 69c1de1

Browse files
authored
Fix logLevel configuration (#34)
* Pass through logLevel in createInstance * Support NOT_SET (0) logLevel * Add tests * Fix defaultLogger
1 parent 0aa1d13 commit 69c1de1

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

index.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ module.exports = {
2626
* @throws If any of the config options that were passed in are invalid
2727
*/
2828
createInstance: function(config) {
29-
var logLevel = config.logLevel || enums.LOG_LEVEL.INFO;
30-
var defaultLogger = logger.createLogger({ logLevel: logLevel });
29+
var logLevel = 'logLevel' in config ? config.logLevel : enums.LOG_LEVEL.INFO;
30+
var defaultLogger = logger.createLogger({ logLevel: enums.LOG_LEVEL.INFO });
3131
if (config) {
3232
try {
3333
configValidator.validate(config);
@@ -48,7 +48,7 @@ module.exports = {
4848
clientVersion: JAVASCRIPT_CLIENT_VERSION,
4949
errorHandler: defaultErrorHandler,
5050
eventDispatcher: defaultEventDispatcher,
51-
logger: logger.createLogger({ logLevel: enums.LOG_LEVEL.INFO }),
51+
logger: logger.createLogger({ logLevel: logLevel }),
5252
}, config);
5353

5454
return new Optimizely(config);

tests.js

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
var configValidator = require('optimizely-server-sdk/lib/utils/config_validator');
2+
var enums = require('optimizely-server-sdk/lib/utils/enums');
23
var Optimizely = require('optimizely-server-sdk/lib/optimizely');
34
var optimizelyFactory = require('./');
45
var packageJSON = require('./package.json');
@@ -44,7 +45,7 @@ describe('javascript-sdk', function() {
4445
assert.instanceOf(optlyInstance, Optimizely);
4546
});
4647

47-
it('should set the Javascript client engine and version', function() {
48+
it('should set the JavaScript client engine and version', function() {
4849
var optlyInstance = optimizelyFactory.createInstance({
4950
datafile: {},
5051
errorHandler: fakeErrorHandler,
@@ -55,6 +56,23 @@ describe('javascript-sdk', function() {
5556
assert.equal('javascript-sdk', optlyInstance.clientEngine);
5657
assert.equal(packageJSON.version, optlyInstance.clientVersion);
5758
});
59+
60+
it('should instantiate the logger with a custom logLevel when provided', function() {
61+
var optlyInstance = optimizelyFactory.createInstance({
62+
datafile: {},
63+
logLevel: enums.LOG_LEVEL.ERROR,
64+
});
65+
66+
assert.equal(optlyInstance.logger.logLevel, enums.LOG_LEVEL.ERROR);
67+
});
68+
69+
it('should default to INFO when no logLevel is provided', function() {
70+
var optlyInstance = optimizelyFactory.createInstance({
71+
datafile: {},
72+
});
73+
74+
assert.equal(optlyInstance.logger.logLevel, enums.LOG_LEVEL.INFO);
75+
});
5876
});
5977
});
6078
});

0 commit comments

Comments
 (0)