diff --git a/packages/logging/src/log.js b/packages/logging/src/log.js index e20f4634052..760796ca6e6 100644 --- a/packages/logging/src/log.js +++ b/packages/logging/src/log.js @@ -118,10 +118,12 @@ util.inherits(Log, commonGrpc.ServiceObject); */ Log.assignSeverityToEntries_ = function(entries, severity) { return arrify(entries).map(function(entry) { - return extend(true, new Entry(), entry, { - metadata: { - severity: severity - } + var metadata = extend(true, {}, entry.metadata, { + severity: severity + }); + + return extend(new Entry(), entry, { + metadata: metadata }); }); }; diff --git a/packages/logging/test/log.js b/packages/logging/test/log.js index 274bac2920f..45c7e0b39c5 100644 --- a/packages/logging/test/log.js +++ b/packages/logging/test/log.js @@ -142,9 +142,13 @@ describe('Log', function() { }); describe('assignSeverityToEntries_', function() { + var circular = {}; + circular.circular = circular; + var ENTRIES = [ { data: { a: 'b' } }, - { data: { c: 'd' } } + { data: { c: 'd' } }, + { data: { e: circular }} ]; var SEVERITY = 'severity'; @@ -164,6 +168,7 @@ describe('Log', function() { .map(prop('metadata')) .map(prop('severity')), [ + SEVERITY, SEVERITY, SEVERITY ]