UNPKG

@vara/custom-logic-sdk

Version:

Server Side JavaScript SDK for Custom Business Logic

55 lines (46 loc) 1.52 kB
/** * 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;