Created
February 15, 2019 23:46
-
-
Save jordangarcia/4ed7629c74a0d6c64fbf35b3cbaa7288 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const optimizelySDK = require('@optimizely/optimizely-sdk') | |
// setup with a noop logger | |
optimizelySDK.setLoggerBackend(optimizelySDK.createNoOpLogger()) | |
const instance = optimizelySDK.createInstance(config) | |
const optimizelySDK = require('@optimizely/optimizely-sdk') | |
// create standard console logger | |
optimizelySDK.setLoggerBackend(optimizelySDK.createLogger()) | |
optimizelySDK.setLogLevel(optimizelySDK.enums.LOG_LEVEL.DEBUG) | |
const instance = optimizelySDK.createInstance(config) | |
const optimizelySDK = require('@optimizely/optimizely-sdk') | |
// Using a 3rd-party logging package such as winston | |
const winston = require('winston') | |
const winstonLogger = winston.createLogger({ | |
level: 'info', | |
format: winston.format.json(), | |
defaultMeta: { service: 'optimizely' }, | |
transports: [ | |
new winston.transports.File({ filename: 'combined.log' }) | |
] | |
}); | |
function convertLogLevels(level) { | |
switch(level) { | |
case optimizelySDK.enums.LOG_LEVEL.DEBUG: | |
return 'debug'; | |
case optimizelySDK.enums.LOG_LEVEL.INFO: | |
return 'info'; | |
case optimizelySDK.enums.LOG_LEVEL.WARNING: | |
return 'warning'; | |
case optimizelySDK.enums.LOG_LEVEL.ERROR: | |
return 'error'; | |
default: | |
return 'silly'; | |
} | |
} | |
optimizelySDK.setLoggerBackend({ | |
log(level, message) { | |
winstonLogger.log({ | |
level: convertLogLevels(level), | |
message, | |
}) | |
}, | |
setLogLevel() { /** noop */} | |
}) | |
const instance = optimizelySDK.createInstance({ | |
logger, | |
}) | |
const optimizelySDK = require('@optimizely/optimizely-sdk') | |
// passing a logger into isntance instantiation | |
// NOTE: this sets the logger globally and we should warn | |
const logger = optimizelySDK.createLogger({ | |
logLevel: optimizelySDK.enums.LOG_LEVEL.DEBUG | |
}) | |
const instance = optimizelySDK.createInstance({ | |
logger, | |
}) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment