diff --git a/lib/winston/create-logger.js b/lib/winston/create-logger.js index e868aeaad..e390dd7c1 100644 --- a/lib/winston/create-logger.js +++ b/lib/winston/create-logger.js @@ -76,9 +76,10 @@ module.exports = function (opts = {}) { if (args.length === 1) { const [msg] = args; const info = msg && msg.message && msg || { message: msg }; - info.level = info[LEVEL] = level; - self._addDefaultMeta(info); - self.write(info); + const cloneInfo = Object.assign(Object.create(info), info) + cloneInfo.level = cloneInfo[LEVEL] = level; + self._addDefaultMeta(cloneInfo); + self.write(cloneInfo); return (this || logger); } diff --git a/test/unit/winston/logger.test.js b/test/unit/winston/logger.test.js index 83504f594..d59c9dad4 100755 --- a/test/unit/winston/logger.test.js +++ b/test/unit/winston/logger.test.js @@ -701,7 +701,6 @@ describe('Logger Instance', function () { const logger = helpers.createLogger(function (info) { assume(info).instanceOf(Error); - assume(info).equals(err); done(); }); @@ -772,7 +771,6 @@ describe('Logger Instance', function () { const err = new Error('test'); const logger = helpers.createLogger(function (info) { assume(info).instanceOf(Error); - assume(info).equals(err); done(); }); @@ -959,7 +957,6 @@ describe('Logger Instance', function () { const err = new Error('test'); const logger = helpers.createLogger(function (info) { assume(info).instanceOf(Error); - assume(info).equals(err); done(); });