diff --git a/packages/vip-go/services/generateLogInfo.js b/packages/vip-go/services/generateLogInfo.js index 6b7aba3ff..c466afb03 100644 --- a/packages/vip-go/services/generateLogInfo.js +++ b/packages/vip-go/services/generateLogInfo.js @@ -1,3 +1,5 @@ +const util = require('util'); + /** * Utility function to format log info for the Debug package. * @@ -9,7 +11,6 @@ module.exports = function generateLogInfo(method, messages) { const hasKey = (key) => messages.find( (message) => typeof message === 'object' && message[key], ); - // Allow-listed valid Sentry keys. const sentryKeys = [ 'tags', @@ -30,11 +31,12 @@ module.exports = function generateLogInfo(method, messages) { }, {}); } - const message = messages; let error = false; if (method === 'error') { - error = !(messages[0] instanceof Error) ? new Error(messages[0]) : messages[0]; + error = !(messages[0] instanceof Error) + ? new Error(util.format(...messages)) + : messages[0]; } // Construct info object. @@ -46,7 +48,10 @@ module.exports = function generateLogInfo(method, messages) { stack: error.stack, }; } else { - info = { ...info, message }; + info = { + ...info, + message: util.format(...messages), + }; } return { diff --git a/packages/vip-go/services/logService.js b/packages/vip-go/services/logService.js index 1ef9aa3ad..e6c8c9144 100644 --- a/packages/vip-go/services/logService.js +++ b/packages/vip-go/services/logService.js @@ -22,6 +22,7 @@ let Sentry; const getService = (namespace) => { let service = defaultService; let sentryConfig = {}; + let vipLogger = {}; // Init logger with proper namespace. const logger = debug(namespace); @@ -43,6 +44,7 @@ const getService = (namespace) => { || process.env.IRVING_EXECUTION_CONTEXT === 'development_server' ) { Sentry = require('@sentry/node'); + vipLogger = require('@automattic/vip-go').logger(namespace); } else { Sentry = require('@sentry/react'); } @@ -74,11 +76,19 @@ const getService = (namespace) => { acc[method] = (...messages) => { // Construct log info object & log it with debug. const logInfo = generateLogInfo(method, messages); - logger(...logInfo.message); + if (vipLogger[method]) { + vipLogger[method](logInfo.message); + } else { + logger(logInfo.message); + } // Log stack to the console if we have an error. if (logInfo.stack) { - logger(logInfo.stack); + if (vipLogger[method]) { + vipLogger[method](logInfo.stack); + } else { + logger(logInfo.stack); + } } // If we have an error, do a couple more things with it.