diff --git a/browser.js b/browser.js index a27cd231b..8560f1f99 100644 --- a/browser.js +++ b/browser.js @@ -111,7 +111,8 @@ function pino (opts) { asObject: opts.browser.asObject, formatters: opts.browser.formatters, levels, - timestamp: getTimeFunction(opts) + timestamp: getTimeFunction(opts), + messageKey: opts.messageKey || 'msg' } logger.levels = getLevels(opts) logger.level = level @@ -308,7 +309,7 @@ function createWrap (self, opts, rootLogger, level) { argsIsSerialized = true } if (opts.asObject || opts.formatters) { - write.call(proto, asObject(this, level, args, ts, opts.formatters)) + write.call(proto, asObject(this, level, args, ts, opts)) } else write.apply(proto, args) if (opts.transmit) { @@ -330,11 +331,11 @@ function createWrap (self, opts, rootLogger, level) { })(self[baseLogFunctionSymbol][level]) } -function asObject (logger, level, args, ts, formatters = {}) { +function asObject (logger, level, args, ts, opts) { const { level: levelFormatter, log: logObjectFormatter = (obj) => obj - } = formatters + } = opts.formatters || {} const argsCloned = args.slice() let msg = argsCloned[0] const logObject = {} @@ -358,7 +359,7 @@ function asObject (logger, level, args, ts, formatters = {}) { } msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned) - if (msg !== undefined) logObject.msg = msg + if (msg !== undefined) logObject[opts.messageKey] = msg const formattedLogObject = logObjectFormatter(logObject) return formattedLogObject diff --git a/test/browser.test.js b/test/browser.test.js index f2bb9b318..8684006b4 100644 --- a/test/browser.test.js +++ b/test/browser.test.js @@ -165,6 +165,23 @@ test('opts.browser.asObject logs pino-like object to console', ({ end, ok, is }) instance.info('test') end() }) +test('opts.browser.asObject uses opts.messageKey in logs', ({ end, ok, is }) => { + const messageKey = 'message' + const instance = require('../browser')({ + messageKey, + browser: { + asObject: true, + write: function (o) { + is(o.level, 30) + is(o[messageKey], 'test') + ok(o.time) + } + } + }) + + instance.info('test') + end() +}) test('opts.browser.formatters (level) logs pino-like object to console', ({ end, ok, is }) => { const info = console.info