@vara/custom-logic-sdk
Version:
Server Side JavaScript SDK for Custom Business Logic
55 lines (46 loc) • 1.52 kB
JavaScript
/**
* Created by stevenchin on 2/1/17.
*/
const bunyan = require('bunyan');
const _ = require('lodash');
const errorSerializer = require('./log-serializers/error-serializer');
const { LOGGING } = require('../../config/environment/env-config');
const logger = bunyan.createLogger({
name: LOGGING.LOGGER_NAME,
level: LOGGING.STD_OUT_LOG_LEVEL,
serializers: {
err: errorSerializer,
},
});
// TODO: add helper methods to etx-common logger
/**
* Helper method to log warnings in the correct format
* @param err {Error}
* @param logContext {Object}
* @param logPrefix {String}
* @param [messagePrefix] {String}
*/
logger.logWarning = function logWarning(err, logContext, logPrefix, messagePrefix) {
const logCtx = _.cloneDeep(logContext);
logCtx.err = err;
if (messagePrefix) {
return logger.warn(logCtx, `${logPrefix}:${err.name} ${messagePrefix} ${err.message}`);
}
return logger.warn(logCtx, `${logPrefix}:${err.name} ${err.message}`);
};
/**
* Helper method to log errors in the correct format
* @param err {Error}
* @param logContext {Object}
* @param logPrefix {String}
* @param [messagePrefix] {String}
*/
logger.logError = function logError(err, logContext, logPrefix, messagePrefix) {
const logCtx = _.cloneDeep(logContext);
logCtx.err = err;
if (messagePrefix) {
return logger.error(logCtx, `${logPrefix}:${err.name} ${messagePrefix} ${err.message}`);
}
return logger.error(logCtx, `${logPrefix}:${err.name} ${err.message}`);
};
module.exports = logger;