From c9af41cde64f1ee8a194e96064fd78591145192b Mon Sep 17 00:00:00 2001 From: Matthew Wear Date: Wed, 16 Sep 2020 09:44:42 -0700 Subject: [PATCH] refactor: use JSON.stringify to format log messages --- .../src/common/logging-error-handler.ts | 4 +--- .../test/common/logging-error-handler.test.ts | 20 +++++++++---------- .../test/CollectorMetricExporter.test.ts | 2 +- .../test/CollectorTraceExporter.test.ts | 2 +- .../browser/CollectorMetricExporter.test.ts | 4 ++-- .../browser/CollectorTraceExporter.test.ts | 4 ++-- .../test/node/CollectorMetricExporter.test.ts | 4 ++-- .../test/node/CollectorTraceExporter.test.ts | 2 +- 8 files changed, 20 insertions(+), 22 deletions(-) diff --git a/packages/opentelemetry-core/src/common/logging-error-handler.ts b/packages/opentelemetry-core/src/common/logging-error-handler.ts index 6faa19e71fc..5925f4510bb 100644 --- a/packages/opentelemetry-core/src/common/logging-error-handler.ts +++ b/packages/opentelemetry-core/src/common/logging-error-handler.ts @@ -38,9 +38,7 @@ function stringifyException(ex: Exception | string): string { if (typeof ex === 'string') { return ex; } else { - return Object.entries(flattenException(ex)) - .map(([k, v]) => `${k}: ${v}`) - .join('\n'); + return JSON.stringify(flattenException(ex)); } } diff --git a/packages/opentelemetry-core/test/common/logging-error-handler.test.ts b/packages/opentelemetry-core/test/common/logging-error-handler.test.ts index 1fdc588f61e..ddef522d09d 100644 --- a/packages/opentelemetry-core/test/common/logging-error-handler.test.ts +++ b/packages/opentelemetry-core/test/common/logging-error-handler.test.ts @@ -52,13 +52,13 @@ describe('loggingErrorHandler', () => { const [result] = errorStub.lastCall.args; - assert.ok(result.includes(`name: ${err.name}`)); - assert.ok(result.includes(`message: ${err.message}`)); - assert.ok(result.includes(`randomString: ${err.randomString}`)); - assert.ok(result.includes(`randomNumber: ${err.randomNumber}`)); - assert.ok(result.includes(`randomArray: ${err.randomArray}`)); - assert.ok(result.includes(`randomObject: ${err.randomObject}`)); - assert.ok(result.includes(`stack: ${err.stack}`)); + assert.ok(result.includes(err.name)); + assert.ok(result.includes(err.message)); + assert.ok(result.includes(err.randomString)); + assert.ok(result.includes(err.randomNumber)); + assert.ok(result.includes(err.randomArray)); + assert.ok(result.includes(err.randomObject)); + assert.ok(result.includes(JSON.stringify(err.stack))); }); it('logs from an error', () => { @@ -68,8 +68,8 @@ describe('loggingErrorHandler', () => { const [result] = errorStub.lastCall.args; - assert.ok(result.includes(`name: ${err.name}`)); - assert.ok(result.includes(`message: ${err.message}`)); - assert.ok(result.includes(`stack: ${err.stack}`)); + assert.ok(result.includes(err.name)); + assert.ok(result.includes(err.message)); + assert.ok(result.includes(JSON.stringify(err.stack))); }); }); diff --git a/packages/opentelemetry-exporter-collector-proto/test/CollectorMetricExporter.test.ts b/packages/opentelemetry-exporter-collector-proto/test/CollectorMetricExporter.test.ts index d43a1f933b7..ac8c07cc4dd 100644 --- a/packages/opentelemetry-exporter-collector-proto/test/CollectorMetricExporter.test.ts +++ b/packages/opentelemetry-exporter-collector-proto/test/CollectorMetricExporter.test.ts @@ -195,7 +195,7 @@ describe('CollectorMetricExporter - node with proto over http', () => { callback(mockResError); setTimeout(() => { const response = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('code: 400')); + assert.ok(response.includes('"code":"400"')); assert.strictEqual(responseSpy.args[0][0], 1); done(); }); diff --git a/packages/opentelemetry-exporter-collector-proto/test/CollectorTraceExporter.test.ts b/packages/opentelemetry-exporter-collector-proto/test/CollectorTraceExporter.test.ts index b33afe643c5..6363bd44078 100644 --- a/packages/opentelemetry-exporter-collector-proto/test/CollectorTraceExporter.test.ts +++ b/packages/opentelemetry-exporter-collector-proto/test/CollectorTraceExporter.test.ts @@ -163,7 +163,7 @@ describe('CollectorTraceExporter - node with proto over http', () => { setTimeout(() => { const response = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('code: 400')); + assert.ok(response.includes('"code":"400"')); assert.strictEqual(responseSpy.args[0][0], 1); done(); }); diff --git a/packages/opentelemetry-exporter-collector/test/browser/CollectorMetricExporter.test.ts b/packages/opentelemetry-exporter-collector/test/browser/CollectorMetricExporter.test.ts index ed1436b5eb3..32e6761e7f2 100644 --- a/packages/opentelemetry-exporter-collector/test/browser/CollectorMetricExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/browser/CollectorMetricExporter.test.ts @@ -196,7 +196,7 @@ describe('CollectorMetricExporter - web', () => { setTimeout(() => { const response: any = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('message: sendBeacon - cannot send')); + assert.ok(response.includes('sendBeacon - cannot send')); assert.strictEqual(spyLoggerDebug.args.length, 1); done(); @@ -332,7 +332,7 @@ describe('CollectorMetricExporter - web', () => { request.respond(400); const response = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('code: 400')); + assert.ok(response.includes('"code":"400"')); assert.strictEqual(spyBeacon.callCount, 0); done(); diff --git a/packages/opentelemetry-exporter-collector/test/browser/CollectorTraceExporter.test.ts b/packages/opentelemetry-exporter-collector/test/browser/CollectorTraceExporter.test.ts index 2817d46eb08..efb4bfe0776 100644 --- a/packages/opentelemetry-exporter-collector/test/browser/CollectorTraceExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/browser/CollectorTraceExporter.test.ts @@ -155,7 +155,7 @@ describe('CollectorTraceExporter - web', () => { setTimeout(() => { const response = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('message: sendBeacon - cannot send')); + assert.ok(response.includes('sendBeacon - cannot send')); assert.strictEqual(spyLoggerDebug.args.length, 1); done(); @@ -253,7 +253,7 @@ describe('CollectorTraceExporter - web', () => { const response = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('code: 400')); + assert.ok(response.includes('"code":"400"')); assert.strictEqual(spyBeacon.callCount, 0); done(); diff --git a/packages/opentelemetry-exporter-collector/test/node/CollectorMetricExporter.test.ts b/packages/opentelemetry-exporter-collector/test/node/CollectorMetricExporter.test.ts index 2700aceb468..6270c63c666 100644 --- a/packages/opentelemetry-exporter-collector/test/node/CollectorMetricExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/node/CollectorMetricExporter.test.ts @@ -221,8 +221,8 @@ describe('CollectorMetricExporter - node with json over http', () => { callback(mockResError); setTimeout(() => { const response = spyLoggerError.args[0][0] as string; - - assert.ok(response.includes('code: 400')); + console.log(response); + assert.ok(response.includes('"code":"400"')); assert.strictEqual(responseSpy.args[0][0], 1); done(); }); diff --git a/packages/opentelemetry-exporter-collector/test/node/CollectorTraceExporter.test.ts b/packages/opentelemetry-exporter-collector/test/node/CollectorTraceExporter.test.ts index bc6e36dfafe..0429cb57f1b 100644 --- a/packages/opentelemetry-exporter-collector/test/node/CollectorTraceExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/node/CollectorTraceExporter.test.ts @@ -177,7 +177,7 @@ describe('CollectorTraceExporter - node with json over http', () => { setTimeout(() => { const response = spyLoggerError.args[0][0] as string; - assert.ok(response.includes('code: 400')); + assert.ok(response.includes('"code":"400"')); assert.strictEqual(responseSpy.args[0][0], 1); done(); });