Implement LoggerBuilder override in etcd integration library. That library is
generally not designed to be consumed by outside code, and we should migrate
off of it instead. But that's a future Monogon problem.

diff -ur io_etcd_go_etcd_tests_v3.orig/integration/cluster.go io_etcd_go_etcd_tests_v3/integration/cluster.go
--- io_etcd_go_etcd_tests_v3.orig/integration/cluster.go	2023-04-05 10:18:09.220532258 +0200
+++ io_etcd_go_etcd_tests_v3/integration/cluster.go	2023-04-05 10:26:36.870901710 +0200
@@ -171,6 +170,7 @@
 
 	WatchProgressNotifyInterval time.Duration
 	CorruptCheckTime            time.Duration
+	LoggerBuilder func(memberName string) *zap.Logger
 }
 
 type cluster struct {
@@ -334,6 +335,7 @@
 			leaseCheckpointInterval:     c.cfg.LeaseCheckpointInterval,
 			WatchProgressNotifyInterval: c.cfg.WatchProgressNotifyInterval,
 			CorruptCheckTime:            c.cfg.CorruptCheckTime,
+			LoggerBuilder:               c.cfg.LoggerBuilder,
 		})
 	m.DiscoveryURL = c.cfg.DiscoveryURL
 	if c.cfg.UseGRPC {
@@ -638,6 +640,7 @@
 	leaseCheckpointPersist      bool
 	WatchProgressNotifyInterval time.Duration
 	CorruptCheckTime            time.Duration
+	LoggerBuilder               func(memberName string) *zap.Logger
 }
 
 // mustNewMember return an inited member with the given name. If peerTLS is
@@ -747,7 +750,11 @@
 
 	m.V2Deprecation = config.V2_DEPR_DEFAULT
 	m.grpcServerRecorder = &grpc_testing.GrpcRecorder{}
-	m.Logger = memberLogger(t, mcfg.name)
+	if mcfg.LoggerBuilder != nil {
+		m.Logger = mcfg.LoggerBuilder(mcfg.name)
+	} else {
+		m.Logger = memberLogger(t, mcfg.name)
+	}
 	t.Cleanup(func() {
 		// if we didn't cleanup the logger, the consecutive test
 		// might reuse this (t).
