You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2023/06/15 08:33:39 UTC

[plc4x] branch develop updated: test(plc4go): always use ProduceTestingLogger for log fields

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 32ab0665c9 test(plc4go): always use ProduceTestingLogger for log fields
32ab0665c9 is described below

commit 32ab0665c9fe84953a9dd379a54733da4427462a
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jun 15 10:33:32 2023 +0200

    test(plc4go): always use ProduceTestingLogger for log fields
---
 plc4go/internal/cbus/Browser_test.go               |  15 +--
 plc4go/internal/cbus/Connection_test.go            | 106 +++++++--------------
 plc4go/internal/cbus/MessageCodec_test.go          |   8 +-
 plc4go/pkg/api/cache/connectionContainer_test.go   |  21 +---
 plc4go/spi/default/DefaultCodec_test.go            |  10 +-
 plc4go/spi/default/DefaultConnection_test.go       |   8 +-
 plc4go/spi/pool/WorkerPool_test.go                 |  36 ++-----
 plc4go/spi/pool/common_test.go                     |  50 ++++++++++
 plc4go/spi/pool/dynamicExecutor_test.go            |  10 +-
 plc4go/spi/pool/executor_test.go                   |  14 ++-
 plc4go/spi/pool/worker_test.go                     |   6 +-
 .../transactions/RequestTransactionManager_test.go |  15 +--
 plc4go/spi/transactions/RequestTransaction_test.go |  10 +-
 .../spi/transports/utils/TransportLogger_test.go   |  13 +--
 14 files changed, 137 insertions(+), 185 deletions(-)

diff --git a/plc4go/internal/cbus/Browser_test.go b/plc4go/internal/cbus/Browser_test.go
index 495618379e..3d3d813143 100644
--- a/plc4go/internal/cbus/Browser_test.go
+++ b/plc4go/internal/cbus/Browser_test.go
@@ -43,7 +43,6 @@ import (
 	spiValues "github.com/apache/plc4x/plc4go/spi/values"
 
 	"github.com/pkg/errors"
-	"github.com/rs/zerolog"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
 )
@@ -57,7 +56,6 @@ func TestBrowser_BrowseQuery(t *testing.T) {
 		DefaultBrowser  _default.DefaultBrowser
 		connection      plc4go.PlcConnection
 		sequenceCounter uint8
-		log             zerolog.Logger
 	}
 	type args struct {
 		ctx         context.Context
@@ -91,7 +89,6 @@ func TestBrowser_BrowseQuery(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -204,7 +201,7 @@ func TestBrowser_BrowseQuery(t *testing.T) {
 				DefaultBrowser:  tt.fields.DefaultBrowser,
 				connection:      tt.fields.connection,
 				sequenceCounter: tt.fields.sequenceCounter,
-				log:             tt.fields.log,
+				log:             testutils.ProduceTestingLogger(t),
 			}
 			got, got1 := m.BrowseQuery(tt.args.ctx, tt.args.interceptor, tt.args.queryName, tt.args.query)
 			assert.Equalf(t, tt.want, got, "BrowseQuery(%v, func(), %v,\n%v\n)", tt.args.ctx, tt.args.queryName, tt.args.query)
@@ -218,7 +215,6 @@ func TestBrowser_extractUnits(t *testing.T) {
 		DefaultBrowser  _default.DefaultBrowser
 		connection      plc4go.PlcConnection
 		sequenceCounter uint8
-		log             zerolog.Logger
 	}
 	type args struct {
 		ctx                          context.Context
@@ -276,7 +272,7 @@ func TestBrowser_extractUnits(t *testing.T) {
 				DefaultBrowser:  tt.fields.DefaultBrowser,
 				connection:      tt.fields.connection,
 				sequenceCounter: tt.fields.sequenceCounter,
-				log:             tt.fields.log,
+				log:             testutils.ProduceTestingLogger(t),
 			}
 			got, got1, err := m.extractUnits(tt.args.ctx, tt.args.query, tt.args.getInstalledUnitAddressBytes)
 			if !tt.wantErr(t, err, fmt.Sprintf("extractUnits(%v, \n%v, func())", tt.args.ctx, tt.args.query)) {
@@ -293,7 +289,6 @@ func TestBrowser_extractAttributes(t *testing.T) {
 		DefaultBrowser  _default.DefaultBrowser
 		connection      plc4go.PlcConnection
 		sequenceCounter uint8
-		log             zerolog.Logger
 	}
 	type args struct {
 		query *unitInfoQuery
@@ -331,7 +326,7 @@ func TestBrowser_extractAttributes(t *testing.T) {
 				DefaultBrowser:  tt.fields.DefaultBrowser,
 				connection:      tt.fields.connection,
 				sequenceCounter: tt.fields.sequenceCounter,
-				log:             tt.fields.log,
+				log:             testutils.ProduceTestingLogger(t),
 			}
 			got, got1 := m.extractAttributes(tt.args.query)
 			assert.Equalf(t, tt.want, got, "extractAttributes(\n%v)", tt.args.query)
@@ -345,7 +340,6 @@ func TestBrowser_getInstalledUnitAddressBytes(t *testing.T) {
 		DefaultBrowser  _default.DefaultBrowser
 		connection      plc4go.PlcConnection
 		sequenceCounter uint8
-		log             zerolog.Logger
 	}
 	type args struct {
 		ctx context.Context
@@ -366,7 +360,6 @@ func TestBrowser_getInstalledUnitAddressBytes(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom options for that
 				_options := []options.WithOption{
@@ -476,7 +469,7 @@ func TestBrowser_getInstalledUnitAddressBytes(t *testing.T) {
 				DefaultBrowser:  tt.fields.DefaultBrowser,
 				connection:      tt.fields.connection,
 				sequenceCounter: tt.fields.sequenceCounter,
-				log:             tt.fields.log,
+				log:             testutils.ProduceTestingLogger(t),
 			}
 			got, err := m.getInstalledUnitAddressBytes(tt.args.ctx)
 			if !tt.wantErr(t, err, fmt.Sprintf("getInstalledUnitAddressBytes(%v)", tt.args.ctx)) {
diff --git a/plc4go/internal/cbus/Connection_test.go b/plc4go/internal/cbus/Connection_test.go
index b9816aa1d4..a70456ac05 100644
--- a/plc4go/internal/cbus/Connection_test.go
+++ b/plc4go/internal/cbus/Connection_test.go
@@ -21,6 +21,13 @@ package cbus
 
 import (
 	"context"
+	"github.com/stretchr/testify/require"
+	"net/url"
+	"sync"
+	"sync/atomic"
+	"testing"
+	"time"
+
 	plc4go "github.com/apache/plc4x/plc4go/pkg/api"
 	apiModel "github.com/apache/plc4x/plc4go/pkg/api/model"
 	readWriteModel "github.com/apache/plc4x/plc4go/protocols/cbus/readwrite/model"
@@ -32,14 +39,8 @@ import (
 	"github.com/apache/plc4x/plc4go/spi/transactions"
 	"github.com/apache/plc4x/plc4go/spi/transports/test"
 	"github.com/apache/plc4x/plc4go/spi/utils"
-	"github.com/rs/zerolog"
+
 	"github.com/stretchr/testify/assert"
-	"github.com/stretchr/testify/require"
-	"net/url"
-	"sync"
-	"sync/atomic"
-	"testing"
-	"time"
 )
 
 func TestAlphaGenerator_getAndIncrement(t *testing.T) {
@@ -96,7 +97,6 @@ func TestConnection_BrowseRequestBuilder(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name       string
@@ -124,7 +124,7 @@ func TestConnection_BrowseRequestBuilder(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.True(t, tt.wantAssert(t, c.BrowseRequestBuilder()), "BrowseRequestBuilder()")
 		})
@@ -141,7 +141,6 @@ func TestConnection_ConnectWithContext(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx context.Context
@@ -181,7 +180,6 @@ func TestConnection_ConnectWithContext(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -221,7 +219,7 @@ func TestConnection_ConnectWithContext(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.True(t, tt.wantAsserter(t, c.ConnectWithContext(tt.args.ctx)), "ConnectWithContext(%v)", tt.args.ctx)
 			time.Sleep(200 * time.Millisecond) // TODO: find out what is still running here
@@ -239,7 +237,6 @@ func TestConnection_GetConnection(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name         string
@@ -249,9 +246,6 @@ func TestConnection_GetConnection(t *testing.T) {
 	}{
 		{
 			name: "not nil",
-			setup: func(t *testing.T, fields *fields) {
-				fields.log = testutils.ProduceTestingLogger(t)
-			},
 			wantAsserter: func(t *testing.T, connection plc4go.PlcConnection) bool {
 				return assert.NotNil(t, connection)
 			},
@@ -271,7 +265,7 @@ func TestConnection_GetConnection(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Truef(t, tt.wantAsserter(t, c.GetConnection()), "GetConnection()")
 		})
@@ -288,7 +282,6 @@ func TestConnection_GetConnectionId(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -310,7 +303,7 @@ func TestConnection_GetConnectionId(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.GetConnectionId(), "GetConnectionId()")
 		})
@@ -327,7 +320,6 @@ func TestConnection_GetMessageCodec(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -353,7 +345,7 @@ func TestConnection_GetMessageCodec(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.GetMessageCodec(), "GetMessageCodec()")
 		})
@@ -370,7 +362,6 @@ func TestConnection_GetMetadata(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -399,7 +390,7 @@ func TestConnection_GetMetadata(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.GetMetadata(), "GetMetadata()")
 		})
@@ -416,7 +407,6 @@ func TestConnection_GetTracer(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -438,7 +428,7 @@ func TestConnection_GetTracer(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.GetTracer(), "GetTracer()")
 		})
@@ -455,7 +445,6 @@ func TestConnection_IsTraceEnabled(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -477,7 +466,7 @@ func TestConnection_IsTraceEnabled(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.IsTraceEnabled(), "IsTraceEnabled()")
 		})
@@ -494,7 +483,6 @@ func TestConnection_ReadRequestBuilder(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name       string
@@ -522,7 +510,7 @@ func TestConnection_ReadRequestBuilder(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Truef(t, tt.wantAssert(t, c.ReadRequestBuilder()), "ReadRequestBuilder()")
 		})
@@ -539,7 +527,6 @@ func TestConnection_String(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -590,7 +577,7 @@ func TestConnection_String(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.String(), "String()")
 		})
@@ -607,7 +594,6 @@ func TestConnection_SubscriptionRequestBuilder(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name       string
@@ -635,7 +621,7 @@ func TestConnection_SubscriptionRequestBuilder(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Truef(t, tt.wantAssert(t, c.SubscriptionRequestBuilder()), "SubscriptionRequestBuilder()")
 		})
@@ -652,7 +638,6 @@ func TestConnection_UnsubscriptionRequestBuilder(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -674,7 +659,7 @@ func TestConnection_UnsubscriptionRequestBuilder(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.UnsubscriptionRequestBuilder(), "UnsubscriptionRequestBuilder()")
 		})
@@ -691,7 +676,6 @@ func TestConnection_WriteRequestBuilder(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name       string
@@ -719,7 +703,7 @@ func TestConnection_WriteRequestBuilder(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Truef(t, tt.wantAssert(t, c.WriteRequestBuilder()), "WriteRequestBuilder()")
 		})
@@ -736,7 +720,6 @@ func TestConnection_addSubscriber(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		subscriber *Subscriber
@@ -775,7 +758,7 @@ func TestConnection_addSubscriber(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			c.addSubscriber(tt.args.subscriber)
 			assert.Truef(t, tt.subElevator(t, c.subscribers), "addSubscriber(%v)", tt.args.subscriber)
@@ -793,7 +776,6 @@ func TestConnection_fireConnected(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ch chan<- plc4go.PlcConnectionConnectResult
@@ -839,7 +821,7 @@ func TestConnection_fireConnected(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			c.fireConnected(tt.args.ch)
 			assert.True(t, tt.chanValidator(t, tt.args.ch))
@@ -857,7 +839,6 @@ func TestConnection_fireConnectionError(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		err error
@@ -936,7 +917,7 @@ func TestConnection_fireConnectionError(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			c.fireConnectionError(tt.args.err, tt.args.ch)
 			assert.True(t, tt.chanValidator(t, tt.args.ch))
@@ -954,7 +935,6 @@ func TestConnection_sendCalDataWrite(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx            context.Context
@@ -990,7 +970,6 @@ func TestConnection_sendCalDataWrite(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1022,7 +1001,7 @@ func TestConnection_sendCalDataWrite(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.sendCalDataWrite(tt.args.ctx, tt.args.ch, tt.args.paramNo, tt.args.parameterValue, tt.args.requestContext, tt.args.cbusOptions), "sendCalDataWrite(%v, %v, %v, %v, %v, %v)", tt.args.ctx, tt.args.ch, tt.args.paramNo, tt.args.parameterValue, tt.args.requestContext, tt.args.cbusOptions)
 		})
@@ -1039,7 +1018,6 @@ func TestConnection_sendReset(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx                      context.Context
@@ -1103,7 +1081,7 @@ func TestConnection_sendReset(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.wantOk, c.sendReset(tt.args.ctx, tt.args.ch, tt.args.cbusOptions, tt.args.requestContext, tt.args.sendOutErrorNotification), "sendReset(%v, %v, %v, %v, %v)", tt.args.ctx, tt.args.ch, tt.args.cbusOptions, tt.args.requestContext, tt.args.sendOutErrorNotification)
 		})
@@ -1120,7 +1098,6 @@ func TestConnection_setApplicationFilter(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx            context.Context
@@ -1152,7 +1129,6 @@ func TestConnection_setApplicationFilter(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1185,7 +1161,7 @@ func TestConnection_setApplicationFilter(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.wantOk, c.setApplicationFilter(tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions), "setApplicationFilter(%v, %v, %v, %v)", tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions)
 		})
@@ -1202,7 +1178,6 @@ func TestConnection_setInterface1PowerUpSettings(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx            context.Context
@@ -1234,7 +1209,6 @@ func TestConnection_setInterface1PowerUpSettings(t *testing.T) {
 			setup: func(t *testing.T, fields *fields, args *args) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1267,7 +1241,7 @@ func TestConnection_setInterface1PowerUpSettings(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.wantOk, c.setInterface1PowerUpSettings(tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions), "setInterface1PowerUpSettings(%v, %v, %v, %v)", tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions)
 		})
@@ -1284,7 +1258,6 @@ func TestConnection_setInterfaceOptions1(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx            context.Context
@@ -1316,7 +1289,6 @@ func TestConnection_setInterfaceOptions1(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1349,7 +1321,7 @@ func TestConnection_setInterfaceOptions1(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, c.setInterfaceOptions1(tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions), "setInterfaceOptions1(%v, %v, %v, %v)", tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions)
 		})
@@ -1366,7 +1338,6 @@ func TestConnection_setInterfaceOptions3(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx            context.Context
@@ -1398,7 +1369,6 @@ func TestConnection_setInterfaceOptions3(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1431,7 +1401,7 @@ func TestConnection_setInterfaceOptions3(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.wantOk, c.setInterfaceOptions3(tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions), "setInterfaceOptions3(%v, %v, %v, %v)", tt.args.ctx, tt.args.ch, tt.args.requestContext, tt.args.cbusOptions)
 		})
@@ -1448,7 +1418,6 @@ func TestConnection_setupConnection(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	type args struct {
 		ctx context.Context
@@ -1469,7 +1438,6 @@ func TestConnection_setupConnection(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1495,7 +1463,6 @@ func TestConnection_setupConnection(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1546,7 +1513,6 @@ func TestConnection_setupConnection(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1609,7 +1575,6 @@ func TestConnection_setupConnection(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1678,7 +1643,6 @@ func TestConnection_setupConnection(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1756,7 +1720,6 @@ func TestConnection_setupConnection(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 
 				// Custom option for that
 				loggerOption := options.WithCustomLogger(logger)
@@ -1842,7 +1805,7 @@ func TestConnection_setupConnection(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			c.setupConnection(tt.args.ctx, tt.args.ch)
 		})
@@ -1859,7 +1822,6 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
 		driverContext     DriverContext
 		connectionId      string
 		tracer            tracer.Tracer
-		log               zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -1871,7 +1833,7 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
+
 				loggerOption := options.WithCustomLogger(logger)
 
 				fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
@@ -1882,7 +1844,6 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 				loggerOption := options.WithCustomLogger(logger)
 
 				defaultConnection := _default.NewDefaultConnection(nil, loggerOption)
@@ -1905,7 +1866,6 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				// Setup logger
 				logger := testutils.ProduceTestingLogger(t)
-				fields.log = logger
 				loggerOption := options.WithCustomLogger(logger)
 
 				defaultConnection := _default.NewDefaultConnection(nil, loggerOption)
@@ -1936,7 +1896,7 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
 				driverContext:     tt.fields.driverContext,
 				connectionId:      tt.fields.connectionId,
 				tracer:            tt.fields.tracer,
-				log:               tt.fields.log,
+				log:               testutils.ProduceTestingLogger(t),
 			}
 			c.startSubscriptionHandler()
 			time.Sleep(50 * time.Millisecond)
diff --git a/plc4go/internal/cbus/MessageCodec_test.go b/plc4go/internal/cbus/MessageCodec_test.go
index ffc03e2f6f..b3c175f926 100644
--- a/plc4go/internal/cbus/MessageCodec_test.go
+++ b/plc4go/internal/cbus/MessageCodec_test.go
@@ -21,6 +21,8 @@ package cbus
 
 import (
 	"fmt"
+	"testing"
+
 	readWriteModel "github.com/apache/plc4x/plc4go/protocols/cbus/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi"
 	_default "github.com/apache/plc4x/plc4go/spi/default"
@@ -28,10 +30,9 @@ import (
 	"github.com/apache/plc4x/plc4go/spi/testutils"
 	"github.com/apache/plc4x/plc4go/spi/transports"
 	"github.com/apache/plc4x/plc4go/spi/transports/test"
-	"github.com/rs/zerolog"
+
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
-	"testing"
 )
 
 func TestMessageCodec_Send(t *testing.T) {
@@ -835,7 +836,6 @@ func TestMessageCodec_String(t *testing.T) {
 		cbusOptions    readWriteModel.CBusOptions
 		monitoredMMIs  chan readWriteModel.CALReply
 		monitoredSALs  chan readWriteModel.MonitoredSAL
-		log            zerolog.Logger
 	}
 	tests := []struct {
 		name        string
@@ -886,7 +886,7 @@ func TestMessageCodec_String(t *testing.T) {
 				cbusOptions:    tt.fields.cbusOptions,
 				monitoredMMIs:  tt.fields.monitoredMMIs,
 				monitoredSALs:  tt.fields.monitoredSALs,
-				log:            tt.fields.log,
+				log:            testutils.ProduceTestingLogger(t),
 			}
 			if tt.manipulator != nil {
 				tt.manipulator(t, m)
diff --git a/plc4go/pkg/api/cache/connectionContainer_test.go b/plc4go/pkg/api/cache/connectionContainer_test.go
index 8eb00592d1..8e8227dc78 100644
--- a/plc4go/pkg/api/cache/connectionContainer_test.go
+++ b/plc4go/pkg/api/cache/connectionContainer_test.go
@@ -34,7 +34,6 @@ import (
 
 func Test_connectionContainer_String(t1 *testing.T) {
 	type fields struct {
-		log              zerolog.Logger
 		lock             lock.RWMutex
 		connectionString string
 		driverManager    plc4go.PlcDriverManager
@@ -55,9 +54,6 @@ func Test_connectionContainer_String(t1 *testing.T) {
 		{
 			name: "string it",
 			want: "connectionContainer{:%!s(<nil>), leaseCounter: 0, closed: false, state: StateInitialized}",
-			setup: func(t *testing.T, fields *fields) {
-				fields.log = testutils.ProduceTestingLogger(t)
-			},
 		},
 	}
 	for _, tt := range tests {
@@ -66,7 +62,7 @@ func Test_connectionContainer_String(t1 *testing.T) {
 				tt.setup(t, &tt.fields)
 			}
 			c := &connectionContainer{
-				log:              tt.fields.log,
+				log:              testutils.ProduceTestingLogger(t),
 				lock:             tt.fields.lock,
 				connectionString: tt.fields.connectionString,
 				driverManager:    tt.fields.driverManager,
@@ -85,7 +81,6 @@ func Test_connectionContainer_String(t1 *testing.T) {
 
 func Test_connectionContainer_addListener(t1 *testing.T) {
 	type fields struct {
-		log              zerolog.Logger
 		lock             lock.RWMutex
 		connectionString string
 		driverManager    plc4go.PlcDriverManager
@@ -115,7 +110,7 @@ func Test_connectionContainer_addListener(t1 *testing.T) {
 	for _, tt := range tests {
 		t1.Run(tt.name, func(t1 *testing.T) {
 			t := &connectionContainer{
-				log:              tt.fields.log,
+				log:              testutils.ProduceTestingLogger(t1),
 				lock:             tt.fields.lock,
 				connectionString: tt.fields.connectionString,
 				driverManager:    tt.fields.driverManager,
@@ -134,7 +129,6 @@ func Test_connectionContainer_addListener(t1 *testing.T) {
 
 func Test_connectionContainer_connect(t1 *testing.T) {
 	type fields struct {
-		log              zerolog.Logger
 		lock             lock.RWMutex
 		connectionString string
 		driverManager    plc4go.PlcDriverManager
@@ -161,8 +155,6 @@ func Test_connectionContainer_connect(t1 *testing.T) {
 			setup: func(t *testing.T, fields *fields) {
 				logger := testutils.ProduceTestingLogger(t)
 
-				fields.log = logger
-
 				driverManager := plc4go.NewPlcDriverManager(config.WithCustomLogger(logger))
 				driverManager.RegisterDriver(simulated.NewDriver(options.WithCustomLogger(logger)))
 				fields.driverManager = driverManager
@@ -175,7 +167,7 @@ func Test_connectionContainer_connect(t1 *testing.T) {
 				tt.setup(t, &tt.fields)
 			}
 			c := &connectionContainer{
-				log:              tt.fields.log,
+				log:              testutils.ProduceTestingLogger(t),
 				lock:             tt.fields.lock,
 				connectionString: tt.fields.connectionString,
 				driverManager:    tt.fields.driverManager,
@@ -256,7 +248,6 @@ func Test_connectionContainer_lease(t1 *testing.T) {
 
 func Test_connectionContainer_returnConnection(t1 *testing.T) {
 	type fields struct {
-		log              zerolog.Logger
 		lock             lock.RWMutex
 		connectionString string
 		driverManager    plc4go.PlcDriverManager
@@ -291,8 +282,6 @@ func Test_connectionContainer_returnConnection(t1 *testing.T) {
 			setup: func(t *testing.T, fields *fields, args *args) {
 				logger := testutils.ProduceTestingLogger(t)
 
-				fields.log = logger
-
 				driverManager := plc4go.NewPlcDriverManager(config.WithCustomLogger(logger))
 				driverManager.RegisterDriver(simulated.NewDriver(options.WithCustomLogger(logger)))
 				fields.driverManager = driverManager
@@ -312,8 +301,6 @@ func Test_connectionContainer_returnConnection(t1 *testing.T) {
 			setup: func(t *testing.T, fields *fields, args *args) {
 				logger := testutils.ProduceTestingLogger(t)
 
-				fields.log = logger
-
 				driverManager := plc4go.NewPlcDriverManager(config.WithCustomLogger(logger))
 				driverManager.RegisterDriver(simulated.NewDriver(options.WithCustomLogger(logger)))
 				fields.driverManager = driverManager
@@ -327,7 +314,7 @@ func Test_connectionContainer_returnConnection(t1 *testing.T) {
 				tt.setup(t, &tt.fields, &tt.args)
 			}
 			c := &connectionContainer{
-				log:              tt.fields.log,
+				log:              testutils.ProduceTestingLogger(t),
 				lock:             tt.fields.lock,
 				connectionString: tt.fields.connectionString,
 				driverManager:    tt.fields.driverManager,
diff --git a/plc4go/spi/default/DefaultCodec_test.go b/plc4go/spi/default/DefaultCodec_test.go
index 1be5406b59..a081221d4c 100644
--- a/plc4go/spi/default/DefaultCodec_test.go
+++ b/plc4go/spi/default/DefaultCodec_test.go
@@ -22,16 +22,17 @@ package _default
 import (
 	"context"
 	"fmt"
+	"testing"
+	"time"
+
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/options"
 	"github.com/apache/plc4x/plc4go/spi/transports"
 	"github.com/apache/plc4x/plc4go/spi/transports/test"
 	"github.com/pkg/errors"
-	"github.com/rs/zerolog"
+
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/mock"
-	"testing"
-	"time"
 )
 
 func TestDefaultExpectation_GetAcceptsMessage(t *testing.T) {
@@ -1231,7 +1232,6 @@ func Test_defaultCodec_String(t *testing.T) {
 		expectations                  []spi.Expectation
 		running                       bool
 		customMessageHandling         func(codec DefaultCodecRequirements, message spi.Message) bool
-		log                           zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -1260,7 +1260,6 @@ func Test_defaultCodec_String(t *testing.T) {
 					}(),
 				},
 				customMessageHandling: nil,
-				log:                   zerolog.Logger{},
 			},
 			want: `
 ╔═defaultCodec═══════════════════════════════════════════════════════════════════════════════════════════╗
@@ -1280,7 +1279,6 @@ func Test_defaultCodec_String(t *testing.T) {
 				defaultIncomingMessageChannel: tt.fields.defaultIncomingMessageChannel,
 				expectations:                  tt.fields.expectations,
 				customMessageHandling:         tt.fields.customMessageHandling,
-				log:                           tt.fields.log,
 			}
 			assert.Equalf(t, tt.want, m.String(), "String()")
 		})
diff --git a/plc4go/spi/default/DefaultConnection_test.go b/plc4go/spi/default/DefaultConnection_test.go
index 3b49809216..c987541d8a 100644
--- a/plc4go/spi/default/DefaultConnection_test.go
+++ b/plc4go/spi/default/DefaultConnection_test.go
@@ -22,8 +22,6 @@ package _default
 import (
 	"context"
 	"fmt"
-	"github.com/apache/plc4x/plc4go/spi/tracer"
-	"github.com/rs/zerolog"
 	"testing"
 	"time"
 
@@ -31,6 +29,8 @@ import (
 	apiModel "github.com/apache/plc4x/plc4go/pkg/api/model"
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/options"
+	"github.com/apache/plc4x/plc4go/spi/testutils"
+	"github.com/apache/plc4x/plc4go/spi/tracer"
 	"github.com/apache/plc4x/plc4go/spi/transports"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 
@@ -1295,7 +1295,6 @@ func Test_defaultConnection_String(t *testing.T) {
 		defaultTtl                    time.Duration
 		tagHandler                    spi.PlcTagHandler
 		valueHandler                  spi.PlcValueHandler
-		log                           zerolog.Logger
 	}
 	tests := []struct {
 		name      string
@@ -1307,7 +1306,6 @@ func Test_defaultConnection_String(t *testing.T) {
 			name: "string it",
 			fields: fields{
 				defaultTtl: 20 * time.Hour,
-				log:        zerolog.Logger{},
 			},
 			connected: true,
 			want: `
@@ -1325,7 +1323,7 @@ func Test_defaultConnection_String(t *testing.T) {
 				defaultTtl:                    tt.fields.defaultTtl,
 				tagHandler:                    tt.fields.tagHandler,
 				valueHandler:                  tt.fields.valueHandler,
-				log:                           tt.fields.log,
+				log:                           testutils.ProduceTestingLogger(t),
 			}
 			if tt.connected {
 				d.connected.Store(true)
diff --git a/plc4go/spi/pool/WorkerPool_test.go b/plc4go/spi/pool/WorkerPool_test.go
index b531d94e7e..fc67a926ac 100644
--- a/plc4go/spi/pool/WorkerPool_test.go
+++ b/plc4go/spi/pool/WorkerPool_test.go
@@ -20,14 +20,13 @@
 package pool
 
 import (
-	"context"
-	"github.com/apache/plc4x/plc4go/spi/options"
-	"github.com/rs/zerolog"
-	"github.com/stretchr/testify/assert"
 	"math/rand"
-	"os"
 	"testing"
 	"time"
+
+	"github.com/apache/plc4x/plc4go/spi/options"
+
+	"github.com/stretchr/testify/assert"
 )
 
 func TestNewFixedSizeExecutor(t *testing.T) {
@@ -50,7 +49,7 @@ func TestNewFixedSizeExecutor(t *testing.T) {
 				options:         []options.WithOption{WithExecutorOptionTracerWorkers(true)},
 			},
 			setup: func(t *testing.T, args *args) {
-				args.options = append(args.options, options.WithCustomLogger(produceTestLogger(t)))
+				args.options = append(args.options, options.WithCustomLogger(produceTestingLogger(t)))
 			},
 			executorValidator: func(t *testing.T, e *executor) bool {
 				return !e.running && !e.shutdown && len(e.worker) == 13 && cap(e.workItems) == 14
@@ -90,7 +89,7 @@ func TestNewDynamicExecutor(t *testing.T) {
 				options:         []options.WithOption{WithExecutorOptionTracerWorkers(true)},
 			},
 			setup: func(t *testing.T, args *args) {
-				args.options = append(args.options, options.WithCustomLogger(produceTestLogger(t)))
+				args.options = append(args.options, options.WithCustomLogger(produceTestingLogger(t)))
 			},
 			executorValidator: func(t *testing.T, e *dynamicExecutor) bool {
 				assert.False(t, e.running)
@@ -108,7 +107,7 @@ func TestNewDynamicExecutor(t *testing.T) {
 				options:         []options.WithOption{WithExecutorOptionTracerWorkers(true)},
 			},
 			setup: func(t *testing.T, args *args) {
-				args.options = append(args.options, options.WithCustomLogger(produceTestLogger(t)))
+				args.options = append(args.options, options.WithCustomLogger(produceTestingLogger(t)))
 			},
 			manipulator: func(t *testing.T, e *dynamicExecutor) {
 				{
@@ -198,24 +197,3 @@ func TestWithExecutorOptionTracerWorkers(t *testing.T) {
 		})
 	}
 }
-
-// from: https://github.com/golang/go/issues/36532#issuecomment-575535452
-func testContext(t *testing.T) context.Context {
-	ctx, cancel := context.WithCancel(context.Background())
-	t.Cleanup(cancel)
-	return ctx
-}
-
-// note: we can't use testutils here due to import cycle
-func produceTestLogger(t *testing.T) zerolog.Logger {
-	return zerolog.New(zerolog.NewConsoleWriter(zerolog.ConsoleTestWriter(t),
-		func(w *zerolog.ConsoleWriter) {
-			// TODO: this is really an issue with go-junit-report not sanitizing output before dumping into xml...
-			onJenkins := os.Getenv("JENKINS_URL") != ""
-			onGithubAction := os.Getenv("GITHUB_ACTIONS") != ""
-			onCI := os.Getenv("CI") != ""
-			if onJenkins || onGithubAction || onCI {
-				w.NoColor = true
-			}
-		}))
-}
diff --git a/plc4go/spi/pool/common_test.go b/plc4go/spi/pool/common_test.go
new file mode 100644
index 0000000000..a72fb80e1f
--- /dev/null
+++ b/plc4go/spi/pool/common_test.go
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package pool
+
+import (
+	"context"
+	"github.com/rs/zerolog"
+	"os"
+	"testing"
+)
+
+// Note: those functions are duplicated here because of import cycle issues
+
+// from: https://github.com/golang/go/issues/36532#issuecomment-575535452
+func testContext(t *testing.T) context.Context {
+	ctx, cancel := context.WithCancel(context.Background())
+	t.Cleanup(cancel)
+	return ctx
+}
+
+// note: we can't use testutils here due to import cycle
+func produceTestingLogger(t *testing.T) zerolog.Logger {
+	return zerolog.New(zerolog.NewConsoleWriter(zerolog.ConsoleTestWriter(t),
+		func(w *zerolog.ConsoleWriter) {
+			// TODO: this is really an issue with go-junit-report not sanitizing output before dumping into xml...
+			onJenkins := os.Getenv("JENKINS_URL") != ""
+			onGithubAction := os.Getenv("GITHUB_ACTIONS") != ""
+			onCI := os.Getenv("CI") != ""
+			if onJenkins || onGithubAction || onCI {
+				w.NoColor = true
+			}
+		}))
+}
diff --git a/plc4go/spi/pool/dynamicExecutor_test.go b/plc4go/spi/pool/dynamicExecutor_test.go
index f1c8e4b4b2..107486eb52 100644
--- a/plc4go/spi/pool/dynamicExecutor_test.go
+++ b/plc4go/spi/pool/dynamicExecutor_test.go
@@ -48,7 +48,7 @@ func Test_dynamicExecutor_Start(t *testing.T) {
 				maxNumberOfWorkers: 100,
 			},
 			setup: func(t *testing.T, fields *fields) {
-				fields.executor.log = produceTestLogger(t)
+				fields.executor.log = produceTestingLogger(t)
 				fields.executor.workItems <- workItem{1, func() {}, &future{}}
 			},
 		},
@@ -63,7 +63,7 @@ func Test_dynamicExecutor_Start(t *testing.T) {
 				maxNumberOfWorkers: 100,
 			},
 			setup: func(t *testing.T, fields *fields) {
-				fields.executor.log = produceTestLogger(t)
+				fields.executor.log = produceTestingLogger(t)
 				fields.executor.workItems <- workItem{1, func() {}, &future{}}
 			},
 			startTwice: true,
@@ -114,7 +114,7 @@ func Test_dynamicExecutor_Stop(t *testing.T) {
 				maxNumberOfWorkers: 100,
 			},
 			setup: func(t *testing.T, fields *fields) {
-				fields.executor.log = produceTestLogger(t)
+				fields.executor.log = produceTestingLogger(t)
 				fields.executor.workItems <- workItem{1, func() {}, &future{}}
 			},
 		},
@@ -129,7 +129,7 @@ func Test_dynamicExecutor_Stop(t *testing.T) {
 				maxNumberOfWorkers: 100,
 			},
 			setup: func(t *testing.T, fields *fields) {
-				fields.executor.log = produceTestLogger(t)
+				fields.executor.log = produceTestingLogger(t)
 				fields.executor.workItems <- workItem{1, func() {}, &future{}}
 			},
 		},
@@ -144,7 +144,7 @@ func Test_dynamicExecutor_Stop(t *testing.T) {
 				maxNumberOfWorkers: 100,
 			},
 			setup: func(t *testing.T, fields *fields) {
-				fields.executor.log = produceTestLogger(t)
+				fields.executor.log = produceTestingLogger(t)
 				fields.executor.workItems <- workItem{1, func() {}, &future{}}
 			},
 			stopTwice: true,
diff --git a/plc4go/spi/pool/executor_test.go b/plc4go/spi/pool/executor_test.go
index 8bd13d6b0a..81dd7485f1 100644
--- a/plc4go/spi/pool/executor_test.go
+++ b/plc4go/spi/pool/executor_test.go
@@ -22,12 +22,13 @@ package pool
 import (
 	"context"
 	"fmt"
-	"github.com/rs/zerolog"
-	"github.com/stretchr/testify/assert"
 	"sync"
 	"sync/atomic"
 	"testing"
 	"time"
+
+	"github.com/rs/zerolog"
+	"github.com/stretchr/testify/assert"
 )
 
 func Test_executor_Close(t *testing.T) {
@@ -38,7 +39,6 @@ func Test_executor_Close(t *testing.T) {
 		queueDepth   int
 		workItems    chan workItem
 		traceWorkers bool
-		log          zerolog.Logger
 	}
 	tests := []struct {
 		name    string
@@ -59,7 +59,7 @@ func Test_executor_Close(t *testing.T) {
 				queueDepth:   tt.fields.queueDepth,
 				workItems:    tt.fields.workItems,
 				traceWorkers: tt.fields.traceWorkers,
-				log:          tt.fields.log,
+				log:          produceTestingLogger(t),
 			}
 			tt.wantErr(t, e.Close(), fmt.Sprintf("Close()"))
 		})
@@ -315,7 +315,6 @@ func Test_executor_getWorkerWaitGroup(t *testing.T) {
 		queueDepth   int
 		workItems    chan workItem
 		traceWorkers bool
-		log          zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -336,7 +335,7 @@ func Test_executor_getWorkerWaitGroup(t *testing.T) {
 				queueDepth:   tt.fields.queueDepth,
 				workItems:    tt.fields.workItems,
 				traceWorkers: tt.fields.traceWorkers,
-				log:          tt.fields.log,
+				log:          produceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, e.getWorkerWaitGroup(), "getWorkerWaitGroup()")
 		})
@@ -386,7 +385,6 @@ func Test_executor_isTraceWorkers(t *testing.T) {
 		queueDepth   int
 		workItems    chan workItem
 		traceWorkers bool
-		log          zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -406,7 +404,7 @@ func Test_executor_isTraceWorkers(t *testing.T) {
 				queueDepth:   tt.fields.queueDepth,
 				workItems:    tt.fields.workItems,
 				traceWorkers: tt.fields.traceWorkers,
-				log:          tt.fields.log,
+				log:          produceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, e.isTraceWorkers(), "isTraceWorkers()")
 		})
diff --git a/plc4go/spi/pool/worker_test.go b/plc4go/spi/pool/worker_test.go
index b7729f3e3d..120b9548dc 100644
--- a/plc4go/spi/pool/worker_test.go
+++ b/plc4go/spi/pool/worker_test.go
@@ -51,7 +51,7 @@ func Test_worker_initialize(t *testing.T) {
 				id:          tt.fields.id,
 				interrupter: tt.fields.interrupter,
 				executor:    tt.fields.executor,
-				log:         produceTestLogger(t),
+				log:         produceTestingLogger(t),
 			}
 			w.initialize()
 		})
@@ -201,7 +201,7 @@ func Test_worker_work(t *testing.T) {
 				id:          tt.fields.id,
 				interrupter: make(chan struct{}, 1),
 				executor:    tt.fields.executor,
-				log:         produceTestLogger(t),
+				log:         produceTestingLogger(t),
 			}
 			go w.work()
 			if tt.firstValidation != nil {
@@ -249,7 +249,7 @@ func Test_worker_String(t *testing.T) {
 		t.Run(tt.name, func(t *testing.T) {
 			w := &worker{
 				id:  tt.fields.id,
-				log: produceTestLogger(t),
+				log: produceTestingLogger(t),
 			}
 			w.lastReceived.Store(time.Time{})
 			assert.Equalf(t, tt.want, w.String(), "String()")
diff --git a/plc4go/spi/transactions/RequestTransactionManager_test.go b/plc4go/spi/transactions/RequestTransactionManager_test.go
index 77849933b7..3ebe3d2367 100644
--- a/plc4go/spi/transactions/RequestTransactionManager_test.go
+++ b/plc4go/spi/transactions/RequestTransactionManager_test.go
@@ -153,7 +153,6 @@ func Test_requestTransactionManager_StartTransaction(t *testing.T) {
 		executor                            pool.Executor
 		shutdown                            bool
 		traceTransactionManagerTransactions bool
-		log                                 zerolog.Logger
 	}
 	tests := []struct {
 		name       string
@@ -163,9 +162,6 @@ func Test_requestTransactionManager_StartTransaction(t *testing.T) {
 	}{
 		{
 			name: "start one",
-			setup: func(t *testing.T, fields *fields) {
-				fields.log = testutils.ProduceTestingLogger(t)
-			},
 			wantAssert: func(t *testing.T, requestTransaction RequestTransaction) bool {
 				assert.False(t, requestTransaction.IsCompleted())
 				return true
@@ -176,9 +172,6 @@ func Test_requestTransactionManager_StartTransaction(t *testing.T) {
 			fields: fields{
 				shutdown: true,
 			},
-			setup: func(t *testing.T, fields *fields) {
-				fields.log = testutils.ProduceTestingLogger(t)
-			},
 			wantAssert: func(t *testing.T, requestTransaction RequestTransaction) bool {
 				assert.True(t, requestTransaction.IsCompleted())
 				assert.Error(t, requestTransaction.AwaitCompletion(context.Background()))
@@ -199,7 +192,7 @@ func Test_requestTransactionManager_StartTransaction(t *testing.T) {
 				executor:                            tt.fields.executor,
 				shutdown:                            tt.fields.shutdown,
 				traceTransactionManagerTransactions: tt.fields.traceTransactionManagerTransactions,
-				log:                                 tt.fields.log,
+				log:                                 testutils.ProduceTestingLogger(t),
 			}
 			if got := r.StartTransaction(); !assert.True(t, tt.wantAssert(t, got)) {
 				t.Errorf("StartTransaction() = %v", got)
@@ -460,7 +453,6 @@ func Test_requestTransactionManager_Close(t *testing.T) {
 		executor                            pool.Executor
 		shutdown                            bool
 		traceTransactionManagerTransactions bool
-		log                                 zerolog.Logger
 	}
 	tests := []struct {
 		name    string
@@ -491,7 +483,7 @@ func Test_requestTransactionManager_Close(t *testing.T) {
 				executor:                            tt.fields.executor,
 				shutdown:                            tt.fields.shutdown,
 				traceTransactionManagerTransactions: tt.fields.traceTransactionManagerTransactions,
-				log:                                 tt.fields.log,
+				log:                                 testutils.ProduceTestingLogger(t),
 			}
 			tt.wantErr(t, r.Close(), fmt.Sprintf("Close()"))
 		})
@@ -587,7 +579,6 @@ func Test_requestTransactionManager_String(t *testing.T) {
 		executor                            pool.Executor
 		shutdown                            bool
 		traceTransactionManagerTransactions bool
-		log                                 zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -649,7 +640,7 @@ func Test_requestTransactionManager_String(t *testing.T) {
 				executor:                            tt.fields.executor,
 				shutdown:                            tt.fields.shutdown,
 				traceTransactionManagerTransactions: tt.fields.traceTransactionManagerTransactions,
-				log:                                 tt.fields.log,
+				log:                                 testutils.ProduceTestingLogger(t),
 			}
 			assert.Equalf(t, tt.want, r.String(), "String()")
 		})
diff --git a/plc4go/spi/transactions/RequestTransaction_test.go b/plc4go/spi/transactions/RequestTransaction_test.go
index d7781385e7..4288d703ba 100644
--- a/plc4go/spi/transactions/RequestTransaction_test.go
+++ b/plc4go/spi/transactions/RequestTransaction_test.go
@@ -25,6 +25,7 @@ import (
 	"time"
 
 	"github.com/apache/plc4x/plc4go/spi/pool"
+	"github.com/apache/plc4x/plc4go/spi/testutils"
 
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog"
@@ -38,7 +39,6 @@ func Test_requestTransaction_EndRequest(t1 *testing.T) {
 		transactionId    int32
 		operation        pool.Runnable
 		completionFuture pool.CompletionFuture
-		transactionLog   zerolog.Logger
 		completed        bool
 	}
 	tests := []struct {
@@ -69,7 +69,7 @@ func Test_requestTransaction_EndRequest(t1 *testing.T) {
 				transactionId:    tt.fields.transactionId,
 				operation:        tt.fields.operation,
 				completionFuture: tt.fields.completionFuture,
-				transactionLog:   tt.fields.transactionLog,
+				transactionLog:   testutils.ProduceTestingLogger(t1),
 				completed:        tt.fields.completed,
 			}
 			if err := t.EndRequest(); (err != nil) != tt.wantErr {
@@ -147,7 +147,6 @@ func Test_requestTransaction_String(t1 *testing.T) {
 		transactionId    int32
 		operation        pool.Runnable
 		completionFuture pool.CompletionFuture
-		transactionLog   zerolog.Logger
 	}
 	tests := []struct {
 		name   string
@@ -171,7 +170,7 @@ func Test_requestTransaction_String(t1 *testing.T) {
 				transactionId:    tt.fields.transactionId,
 				operation:        tt.fields.operation,
 				completionFuture: tt.fields.completionFuture,
-				transactionLog:   tt.fields.transactionLog,
+				transactionLog:   testutils.ProduceTestingLogger(t1),
 			}
 			if got := t.String(); got != tt.want {
 				t1.Errorf("String() = \n%v, want \n%v", got, tt.want)
@@ -260,7 +259,6 @@ func Test_requestTransaction_AwaitCompletion(t1 *testing.T) {
 		transactionId    int32
 		operation        pool.Runnable
 		completionFuture pool.CompletionFuture
-		transactionLog   zerolog.Logger
 	}
 	type args struct {
 		ctx context.Context
@@ -314,7 +312,7 @@ func Test_requestTransaction_AwaitCompletion(t1 *testing.T) {
 				transactionId:    tt.fields.transactionId,
 				operation:        tt.fields.operation,
 				completionFuture: tt.fields.completionFuture,
-				transactionLog:   tt.fields.transactionLog,
+				transactionLog:   testutils.ProduceTestingLogger(t1),
 			}
 			if err := t.AwaitCompletion(tt.args.ctx); (err != nil) != tt.wantErr {
 				t1.Errorf("AwaitCompletion() error = %v, wantErr %v", err, tt.wantErr)
diff --git a/plc4go/spi/transports/utils/TransportLogger_test.go b/plc4go/spi/transports/utils/TransportLogger_test.go
index 08cd5a5c4c..a88f1aa988 100644
--- a/plc4go/spi/transports/utils/TransportLogger_test.go
+++ b/plc4go/spi/transports/utils/TransportLogger_test.go
@@ -20,10 +20,13 @@
 package utils
 
 import (
-	"github.com/rs/zerolog"
-	"github.com/stretchr/testify/assert"
 	"io"
 	"testing"
+
+	"github.com/apache/plc4x/plc4go/spi/testutils"
+
+	"github.com/rs/zerolog"
+	"github.com/stretchr/testify/assert"
 )
 
 func TestNewTransportLogger(t *testing.T) {
@@ -53,7 +56,6 @@ func TestNewTransportLogger(t *testing.T) {
 func TestTransportLogger_Close(t1 *testing.T) {
 	type fields struct {
 		source io.ReadWriteCloser
-		log    zerolog.Logger
 	}
 	tests := []struct {
 		name    string
@@ -66,7 +68,7 @@ func TestTransportLogger_Close(t1 *testing.T) {
 		t1.Run(tt.name, func(t1 *testing.T) {
 			t := &TransportLogger{
 				source: tt.fields.source,
-				log:    tt.fields.log,
+				log:    testutils.ProduceTestingLogger(t1),
 			}
 			if err := t.Close(); (err != nil) != tt.wantErr {
 				t1.Errorf("Close() error = %v, wantErr %v", err, tt.wantErr)
@@ -113,7 +115,6 @@ func TestTransportLogger_Read(t1 *testing.T) {
 func TestTransportLogger_Write(t1 *testing.T) {
 	type fields struct {
 		source io.ReadWriteCloser
-		log    zerolog.Logger
 	}
 	type args struct {
 		p []byte
@@ -131,7 +132,7 @@ func TestTransportLogger_Write(t1 *testing.T) {
 		t1.Run(tt.name, func(t1 *testing.T) {
 			t := &TransportLogger{
 				source: tt.fields.source,
-				log:    tt.fields.log,
+				log:    testutils.ProduceTestingLogger(t1),
 			}
 			got, err := t.Write(tt.args.p)
 			if (err != nil) != tt.wantErr {