Skip to content

Commit 19bdf8c

Browse files
authored
Include test for local logger instances in mbreceiver (#47257)
1 parent e744a82 commit 19bdf8c

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

x-pack/metricbeat/mbreceiver/receiver_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,16 @@ func TestMultipleReceivers(t *testing.T) {
207207
assert.Equal(c, "receiver", logs["r1"][0].Flatten()["agent.otelcol.component.kind"], "expected agent.otelcol.component.kind field in r1 log record")
208208
assert.Equal(c, "metricbeatreceiver/r2", logs["r2"][0].Flatten()["agent.otelcol.component.id"], "expected agent.otelcol.component.id field in r2 log record")
209209
assert.Equal(c, "receiver", logs["r2"][0].Flatten()["agent.otelcol.component.kind"], "expected otelcol.component.kind field in r2 log record")
210+
211+
// Make sure that each receiver has a separate logger
212+
// instance and does not interfere with others. Previously, the
213+
// logger in Beats was global, causing logger fields to be
214+
// overwritten when multiple receivers started in the same process.
215+
r1StartLogs := zapLogs.FilterMessageSnippet("Beat ID").FilterField(zap.String("otelcol.component.id", "metricbeatreceiver/r1"))
216+
assert.Equal(c, 1, r1StartLogs.Len(), "r1 should have a single start log")
217+
r2StartLogs := zapLogs.FilterMessageSnippet("Beat ID").FilterField(zap.String("otelcol.component.id", "metricbeatreceiver/r2"))
218+
assert.Equal(c, 1, r2StartLogs.Len(), "r2 should have a single start log")
219+
210220
var lastError strings.Builder
211221
assert.Conditionf(c, func() bool {
212222
tests := []string{monitorSocket1, monitorSocket2}

0 commit comments

Comments
 (0)