@@ -50,7 +50,7 @@ var FEATURE_VARIABLE_TYPES = enums.FEATURE_VARIABLE_TYPES;
50
50
function Optimizely ( config ) {
51
51
var clientEngine = config . clientEngine ;
52
52
if ( clientEngine !== enums . NODE_CLIENT_ENGINE && clientEngine !== enums . JAVASCRIPT_CLIENT_ENGINE ) {
53
- config . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . INVALID_CLIENT_ENGINE , MODULE_NAME , clientEngine ) ) ;
53
+ config . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . INVALID_CLIENT_ENGINE , MODULE_NAME , { clientEngine} ) ) ;
54
54
clientEngine = enums . NODE_CLIENT_ENGINE ;
55
55
}
56
56
@@ -116,7 +116,7 @@ function Optimizely(config) {
116
116
Optimizely . prototype . activate = function ( experimentKey , userId , attributes ) {
117
117
try {
118
118
if ( ! this . isValidInstance ) {
119
- this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , 'activate' ) ) ;
119
+ this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , { active : 'activate' } ) ) ;
120
120
return null ;
121
121
}
122
122
@@ -132,7 +132,7 @@ Optimizely.prototype.activate = function (experimentKey, userId, attributes) {
132
132
133
133
// If experiment is not set to 'Running' status, log accordingly and return variation key
134
134
if ( ! projectConfig . isRunning ( this . configObj , experimentKey ) ) {
135
- var shouldNotDispatchActivateLogMessage = sprintf ( LOG_MESSAGES . SHOULD_NOT_DISPATCH_ACTIVATE , MODULE_NAME , experimentKey ) ;
135
+ var shouldNotDispatchActivateLogMessage = sprintf ( LOG_MESSAGES . SHOULD_NOT_DISPATCH_ACTIVATE , MODULE_NAME , { experimentKey} ) ;
136
136
this . logger . log ( LOG_LEVEL . DEBUG , shouldNotDispatchActivateLogMessage ) ;
137
137
return variationKey ;
138
138
}
@@ -142,7 +142,7 @@ Optimizely.prototype.activate = function (experimentKey, userId, attributes) {
142
142
return variationKey ;
143
143
} catch ( ex ) {
144
144
this . logger . log ( LOG_LEVEL . ERROR , ex . message ) ;
145
- var failedActivationLogMessage = sprintf ( LOG_MESSAGES . NOT_ACTIVATING_USER , MODULE_NAME , userId , experimentKey ) ;
145
+ var failedActivationLogMessage = sprintf ( LOG_MESSAGES . NOT_ACTIVATING_USER , MODULE_NAME , { userId, experimentKey} ) ;
146
146
this . logger . log ( LOG_LEVEL . INFO , failedActivationLogMessage ) ;
147
147
this . errorHandler . handleError ( ex ) ;
148
148
return null ;
@@ -183,7 +183,7 @@ Optimizely.prototype._sendImpressionEvent = function(experimentKey, variationKey
183
183
JSON . stringify ( impressionEvent . params ) ) ;
184
184
this . logger . log ( LOG_LEVEL . DEBUG , dispatchedImpressionEventLogMessage ) ;
185
185
var eventDispatcherCallback = function ( ) {
186
- var activatedLogMessage = sprintf ( LOG_MESSAGES . ACTIVATE_USER , MODULE_NAME , userId , experimentKey ) ;
186
+ var activatedLogMessage = sprintf ( LOG_MESSAGES . ACTIVATE_USER , MODULE_NAME , { userId, experimentKey} ) ;
187
187
this . logger . log ( LOG_LEVEL . INFO , activatedLogMessage ) ;
188
188
} . bind ( this ) ;
189
189
this . __dispatchEvent ( impressionEvent , eventDispatcherCallback ) ;
@@ -216,7 +216,7 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
216
216
try {
217
217
218
218
if ( ! this . isValidInstance ) {
219
- this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , 'track' ) ) ;
219
+ this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , { track : 'track' } ) ) ;
220
220
return ;
221
221
}
222
222
@@ -231,7 +231,7 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
231
231
// Return and do not send conversion events if the event is not associated with any running experiments
232
232
this . logger . log ( LOG_LEVEL . WARNING , sprintf ( LOG_MESSAGES . EVENT_NOT_ASSOCIATED_WITH_EXPERIMENTS ,
233
233
MODULE_NAME ,
234
- eventKey ) ) ;
234
+ { eventKey} ) ) ;
235
235
return ;
236
236
}
237
237
@@ -253,12 +253,12 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
253
253
254
254
var dispatchedConversionEventLogMessage = sprintf ( LOG_MESSAGES . DISPATCH_CONVERSION_EVENT ,
255
255
MODULE_NAME ,
256
- conversionEvent . url ,
257
- JSON . stringify ( conversionEvent . params ) ) ;
256
+ { url : conversionEvent . url ,
257
+ converstion : JSON . stringify ( conversionEvent . params ) , { conversionEvent } ) ;
258
258
this . logger . log ( LOG_LEVEL . DEBUG , dispatchedConversionEventLogMessage ) ;
259
259
260
260
var eventDispatcherCallback = function ( ) {
261
- var trackedLogMessage = sprintf ( LOG_MESSAGES . TRACK_EVENT , MODULE_NAME , eventKey , userId ) ;
261
+ var trackedLogMessage = sprintf ( LOG_MESSAGES . TRACK_EVENT , MODULE_NAME , { eventKey, userId} ) ;
262
262
this . logger . log ( LOG_LEVEL . INFO , trackedLogMessage ) ;
263
263
} . bind ( this ) ;
264
264
@@ -276,7 +276,7 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
276
276
) ;
277
277
} catch ( ex ) {
278
278
this . logger . log ( LOG_LEVEL . ERROR , ex . message ) ;
279
- var failedTrackLogMessage = sprintf ( LOG_MESSAGES . NOT_TRACKING_USER , MODULE_NAME , userId ) ;
279
+ var failedTrackLogMessage = sprintf ( LOG_MESSAGES . NOT_TRACKING_USER , MODULE_NAME , { userId} ) ;
280
280
this . logger . log ( LOG_LEVEL . INFO , failedTrackLogMessage ) ;
281
281
this . errorHandler . handleError ( ex ) ;
282
282
}
@@ -297,7 +297,7 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
297
297
Optimizely . prototype . getVariation = function ( experimentKey , userId , attributes ) {
298
298
try {
299
299
if ( ! this . isValidInstance ) {
300
- this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , 'getVariation' ) ) ;
300
+ this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , { getVariation : 'getVariation' } ) ) ;
301
301
return null ;
302
302
}
303
303
@@ -308,7 +308,7 @@ Optimizely.prototype.getVariation = function(experimentKey, userId, attributes)
308
308
309
309
var experiment = this . configObj . experimentKeyMap [ experimentKey ] ;
310
310
if ( fns . isEmpty ( experiment ) ) {
311
- this . logger . log ( LOG_LEVEL . DEBUG , sprintf ( ERROR_MESSAGES . INVALID_EXPERIMENT_KEY , MODULE_NAME , experimentKey ) ) ;
311
+ this . logger . log ( LOG_LEVEL . DEBUG , sprintf ( ERROR_MESSAGES . INVALID_EXPERIMENT_KEY , MODULE_NAME , { experimentKey} ) ) ;
312
312
return null ;
313
313
}
314
314
@@ -380,7 +380,7 @@ Optimizely.prototype.__validateInputs = function(stringInputs, userAttributes, e
380
380
if ( stringInputs . hasOwnProperty ( 'user_id' ) ) {
381
381
var userId = stringInputs . user_id ;
382
382
if ( typeof userId !== 'string' || userId === null || userId === 'undefined' ) {
383
- throw new Error ( sprintf ( ERROR_MESSAGES . INVALID_INPUT_FORMAT , MODULE_NAME , 'user_id' ) ) ;
383
+ throw new Error ( sprintf ( ERROR_MESSAGES . INVALID_INPUT_FORMAT , MODULE_NAME , { key : 'user_id' } ) ) ;
384
384
}
385
385
386
386
delete stringInputs . user_id ;
@@ -390,7 +390,7 @@ Optimizely.prototype.__validateInputs = function(stringInputs, userAttributes, e
390
390
for ( var index = 0 ; index < inputKeys . length ; index ++ ) {
391
391
var key = inputKeys [ index ] ;
392
392
if ( ! stringValidator . validate ( stringInputs [ key ] ) ) {
393
- throw new Error ( sprintf ( ERROR_MESSAGES . INVALID_INPUT_FORMAT , MODULE_NAME , key ) ) ;
393
+ throw new Error ( sprintf ( ERROR_MESSAGES . INVALID_INPUT_FORMAT , MODULE_NAME , { key} ) ) ;
394
394
}
395
395
}
396
396
if ( userAttributes ) {
@@ -434,7 +434,7 @@ Optimizely.prototype.__getValidExperimentsForEvent = function(eventKey, userId,
434
434
if ( variationKey ) {
435
435
// if experiment is active but not running, it is in LAUNCHED state, so we don't track a conversion for it
436
436
if ( ! projectConfig . isRunning ( this . configObj , experimentKey ) ) {
437
- var shouldNotDispatchTrackLogMessage = sprintf ( LOG_MESSAGES . SHOULD_NOT_DISPATCH_TRACK , MODULE_NAME , experimentKey ) ;
437
+ var shouldNotDispatchTrackLogMessage = sprintf ( LOG_MESSAGES . SHOULD_NOT_DISPATCH_TRACK , MODULE_NAME , { experimentKey} ) ;
438
438
this . logger . log ( LOG_LEVEL . DEBUG , shouldNotDispatchTrackLogMessage ) ;
439
439
} else {
440
440
// if running + user is bucketed then add to result
@@ -444,8 +444,9 @@ Optimizely.prototype.__getValidExperimentsForEvent = function(eventKey, userId,
444
444
} else {
445
445
var notTrackingUserForExperimentLogMessage = sprintf ( LOG_MESSAGES . NOT_TRACKING_USER_FOR_EXPERIMENT ,
446
446
MODULE_NAME ,
447
+ {
447
448
userId,
448
- experimentKey ) ;
449
+ experimentKey} ) ;
449
450
this . logger . log ( LOG_LEVEL . DEBUG , notTrackingUserForExperimentLogMessage ) ;
450
451
}
451
452
return results ;
@@ -461,7 +462,7 @@ Optimizely.prototype.__getValidExperimentsForEvent = function(eventKey, userId,
461
462
* @return {null }
462
463
*/
463
464
Optimizely . prototype . __notActivatingExperiment = function ( experimentKey , userId ) {
464
- var failedActivationLogMessage = sprintf ( LOG_MESSAGES . NOT_ACTIVATING_USER , MODULE_NAME , userId , experimentKey ) ;
465
+ var failedActivationLogMessage = sprintf ( LOG_MESSAGES . NOT_ACTIVATING_USER , MODULE_NAME , { userId, experimentKey} ) ;
465
466
this . logger . log ( LOG_LEVEL . INFO , failedActivationLogMessage ) ;
466
467
return null ;
467
468
} ;
@@ -505,7 +506,7 @@ Optimizely.prototype.__filterEmptyValues = function (map) {
505
506
Optimizely . prototype . isFeatureEnabled = function ( featureKey , userId , attributes ) {
506
507
try {
507
508
if ( ! this . isValidInstance ) {
508
- this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , 'isFeatureEnabled' ) ) ;
509
+ this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , { key : 'isFeatureEnabled' } ) ) ;
509
510
return false ;
510
511
}
511
512
@@ -526,11 +527,11 @@ Optimizely.prototype.isFeatureEnabled = function (featureKey, userId, attributes
526
527
this . _sendImpressionEvent ( decision . experiment . key , decision . variation . key , userId , attributes ) ;
527
528
}
528
529
if ( variation . featureEnabled === true ) {
529
- this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FEATURE_ENABLED_FOR_USER , MODULE_NAME , featureKey , userId ) ) ;
530
+ this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FEATURE_ENABLED_FOR_USER , MODULE_NAME , { featureKey, userId} ) ) ;
530
531
return true ;
531
532
}
532
533
}
533
- this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FEATURE_NOT_ENABLED_FOR_USER , MODULE_NAME , featureKey , userId ) ) ;
534
+ this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . FEATURE_NOT_ENABLED_FOR_USER , MODULE_NAME , { featureKey, userId} ) ) ;
534
535
return false ;
535
536
} catch ( e ) {
536
537
this . logger . log ( LOG_LEVEL . ERROR , e . message ) ;
@@ -550,7 +551,7 @@ Optimizely.prototype.getEnabledFeatures = function (userId, attributes) {
550
551
try {
551
552
var enabledFeatures = [ ] ;
552
553
if ( ! this . isValidInstance ) {
553
- this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , 'getEnabledFeatures' ) ) ;
554
+ this . logger . log ( LOG_LEVEL . ERROR , sprintf ( LOG_MESSAGES . INVALID_OBJECT , MODULE_NAME , { key : 'getEnabledFeatures' } ) ) ;
554
555
return enabledFeatures ;
555
556
}
556
557
@@ -614,18 +615,18 @@ Optimizely.prototype._getFeatureVariableForType = function(featureKey, variableK
614
615
}
615
616
616
617
if ( variable . type !== variableType ) {
617
- this . logger . log ( LOG_LEVEL . WARNING , sprintf ( LOG_MESSAGES . VARIABLE_REQUESTED_WITH_WRONG_TYPE , MODULE_NAME , variableType , variable . type ) ) ;
618
+ this . logger . log ( LOG_LEVEL . WARNING , sprintf ( LOG_MESSAGES . VARIABLE_REQUESTED_WITH_WRONG_TYPE , MODULE_NAME , { variableType, type : variable . type } ) ) ;
618
619
return null ;
619
620
}
620
621
621
622
var decision = this . decisionService . getVariationForFeature ( featureFlag , userId , attributes ) ;
622
623
var variableValue ;
623
624
if ( decision . variation !== null ) {
624
625
variableValue = projectConfig . getVariableValueForVariation ( this . configObj , variable , decision . variation , this . logger ) ;
625
- this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . USER_RECEIVED_VARIABLE_VALUE , MODULE_NAME , variableKey , featureFlag . key , variableValue , userId ) ) ;
626
+ this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . USER_RECEIVED_VARIABLE_VALUE , MODULE_NAME , { variableKey, featureFlagKey : featureFlag . key , variableValue, userId} ) ) ;
626
627
} else {
627
628
variableValue = variable . defaultValue ;
628
- this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . USER_RECEIVED_DEFAULT_VARIABLE_VALUE , MODULE_NAME , userId , variableKey , featureFlag . key ) ) ;
629
+ this . logger . log ( LOG_LEVEL . INFO , sprintf ( LOG_MESSAGES . USER_RECEIVED_DEFAULT_VARIABLE_VALUE , MODULE_NAME , { userId, variableKey, featureFlagKey : featureFlag . key } ) ) ;
629
630
}
630
631
631
632
return projectConfig . getTypeCastValue ( variableValue , variableType , this . logger ) ;
0 commit comments