diff --git a/cli/module_build.go b/cli/module_build.go index bfbc68c456e..efecdc676a4 100644 --- a/cli/module_build.go +++ b/cli/module_build.go @@ -109,14 +109,14 @@ func moduleBuildLocalAction(cCtx *cli.Context, manifest *moduleManifest) error { if manifest.Build.Setup != "" { infof(cCtx.App.Writer, "Starting setup step: %q", manifest.Build.Setup) processConfig.Args = []string{"-c", manifest.Build.Setup} - proc := pexec.NewManagedProcess(processConfig, logger.AsZap()) + proc := pexec.NewManagedProcess(processConfig, logger) if err := proc.Start(cCtx.Context); err != nil { return err } } infof(cCtx.App.Writer, "Starting build step: %q", manifest.Build.Build) processConfig.Args = []string{"-c", manifest.Build.Build} - proc := pexec.NewManagedProcess(processConfig, logger.AsZap()) + proc := pexec.NewManagedProcess(processConfig, logger) if err := proc.Start(cCtx.Context); err != nil { return err } diff --git a/components/arm/client_test.go b/components/arm/client_test.go index db2e7e6c979..e0191286aa5 100644 --- a/components/arm/client_test.go +++ b/components/arm/client_test.go @@ -27,7 +27,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var ( diff --git a/components/audioinput/client_test.go b/components/audioinput/client_test.go index 6fe33dd9d9a..b32f9c33054 100644 --- a/components/audioinput/client_test.go +++ b/components/audioinput/client_test.go @@ -29,7 +29,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) audioData := &wave.Float32Interleaved{ @@ -138,7 +138,7 @@ func TestClientStreamAfterClose(t *testing.T) { logger := logging.NewTestLogger(t) listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) // Set up audioinput that can stream audio diff --git a/components/audioinput/microphone/microphone.go b/components/audioinput/microphone/microphone.go index d1b3646a0ef..e58725398d9 100644 --- a/components/audioinput/microphone/microphone.go +++ b/components/audioinput/microphone/microphone.go @@ -113,7 +113,7 @@ func tryMicrophoneOpen( constraints mediadevices.MediaStreamConstraints, logger logging.Logger, ) (audioinput.AudioSource, error) { - source, err := gostream.GetNamedAudioSource(filepath.Base(path), constraints, logger.AsZap()) + source, err := gostream.GetNamedAudioSource(filepath.Base(path), constraints, logger) if err != nil { return nil, err } diff --git a/components/base/client_test.go b/components/base/client_test.go index 1c13604614f..b4b3b27ab69 100644 --- a/components/base/client_test.go +++ b/components/base/client_test.go @@ -81,7 +81,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) argsReceived := map[string][]interface{}{} diff --git a/components/board/client_test.go b/components/board/client_test.go index 0265766e165..23228f7e763 100644 --- a/components/board/client_test.go +++ b/components/board/client_test.go @@ -29,7 +29,7 @@ func setupService(t *testing.T, injectBoard *inject.Board) (net.Listener, func() logger := logging.NewTestLogger(t) listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) boardSvc, err := resource.NewAPIResourceCollection(board.API, map[resource.Name]board.Board{board.Named(testBoardName): injectBoard}) diff --git a/components/camera/client_test.go b/components/camera/client_test.go index a23bfc37972..e11aea814f7 100644 --- a/components/camera/client_test.go +++ b/components/camera/client_test.go @@ -37,7 +37,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectCamera := &inject.Camera{} @@ -338,7 +338,7 @@ func TestClientProperties(t *testing.T) { listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - server, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + server, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectCamera := &inject.Camera{} @@ -428,7 +428,7 @@ func TestClientLazyImage(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectCamera := &inject.Camera{} @@ -497,7 +497,7 @@ func TestClientWithInterceptor(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) // Set up camera that adds timestamps into the gRPC response header. @@ -559,7 +559,7 @@ func TestClientStreamAfterClose(t *testing.T) { logger := logging.NewTestLogger(t) listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) // Set up camera that can stream images @@ -633,7 +633,7 @@ func TestRTPPassthroughWithoutWebRTC(t *testing.T) { camName := "rtp_passthrough_camera" listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectCamera := &inject.Camera{} diff --git a/components/camera/replaypcd/replaypcd_utils_test.go b/components/camera/replaypcd/replaypcd_utils_test.go index f8979a5fdcd..da59377860b 100644 --- a/components/camera/replaypcd/replaypcd_utils_test.go +++ b/components/camera/replaypcd/replaypcd_utils_test.go @@ -134,7 +134,7 @@ func timestampsFromFileNum(fileNum int) (*timestamppb.Timestamp, *timestamppb.Ti func createMockCloudDependencies(ctx context.Context, t *testing.T, logger logging.Logger, b bool) (resource.Dependencies, func() error) { listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) // This creates a mock server for each pcd file used in testing diff --git a/components/camera/videosource/webcam.go b/components/camera/videosource/webcam.go index f4ce78e87f3..3cca0f573e7 100644 --- a/components/camera/videosource/webcam.go +++ b/components/camera/videosource/webcam.go @@ -256,7 +256,7 @@ func findAndMakeVideoSource( return cam, label, nil } - source, err := gostream.GetAnyVideoSource(constraints, logger.AsZap()) + source, err := gostream.GetAnyVideoSource(constraints, logger) if err != nil { return nil, "", errors.Wrap(err, "found no webcams") } @@ -429,7 +429,7 @@ func getNamedVideoSource( path = resolvedPath } } - return gostream.GetNamedVideoSource(filepath.Base(path), constraints, logger.AsZap()) + return gostream.GetNamedVideoSource(filepath.Base(path), constraints, logger) } // monitoredWebcam tries to ensure its underlying camera stays connected. diff --git a/components/encoder/client_test.go b/components/encoder/client_test.go index 7a879181ca8..0579d8998fe 100644 --- a/components/encoder/client_test.go +++ b/components/encoder/client_test.go @@ -27,7 +27,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) workingEncoder := &inject.Encoder{} diff --git a/components/gantry/client_test.go b/components/gantry/client_test.go index ade2e1388d2..0ba7d92557e 100644 --- a/components/gantry/client_test.go +++ b/components/gantry/client_test.go @@ -20,7 +20,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var gantryPos []float64 diff --git a/components/generic/client_test.go b/components/generic/client_test.go index 238e44f7474..3eeadf06620 100644 --- a/components/generic/client_test.go +++ b/components/generic/client_test.go @@ -25,7 +25,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) workingGeneric := &inject.GenericComponent{} diff --git a/components/gripper/client_test.go b/components/gripper/client_test.go index 9f67cf6a516..b8b31777b9f 100644 --- a/components/gripper/client_test.go +++ b/components/gripper/client_test.go @@ -22,7 +22,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var gripperOpen string diff --git a/components/input/client_test.go b/components/input/client_test.go index 9d817ab45d6..dab4f65b2a8 100644 --- a/components/input/client_test.go +++ b/components/input/client_test.go @@ -21,7 +21,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var extraOptions map[string]interface{} @@ -276,7 +276,7 @@ func TestClientRace(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectInputController := &inject.TriggerableInputController{} diff --git a/components/motor/client_test.go b/components/motor/client_test.go index 044f7a98bd2..e819143e866 100644 --- a/components/motor/client_test.go +++ b/components/motor/client_test.go @@ -20,7 +20,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) workingMotor := &inject.Motor{} diff --git a/components/movementsensor/client_test.go b/components/movementsensor/client_test.go index 6165e1ff63a..d18e72dd11b 100644 --- a/components/movementsensor/client_test.go +++ b/components/movementsensor/client_test.go @@ -39,7 +39,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) loc := geo.NewPoint(90, 1) diff --git a/components/movementsensor/replay/replay_utils_test.go b/components/movementsensor/replay/replay_utils_test.go index db9d23f6d36..47265e919c6 100644 --- a/components/movementsensor/replay/replay_utils_test.go +++ b/components/movementsensor/replay/replay_utils_test.go @@ -171,7 +171,7 @@ func createMockCloudDependencies(ctx context.Context, t *testing.T, logger loggi ) (resource.Dependencies, func() error) { listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) test.That(t, rpcServer.RegisterServiceServer( diff --git a/components/posetracker/client_test.go b/components/posetracker/client_test.go index 803fd8744b9..47acd5ccca4 100644 --- a/components/posetracker/client_test.go +++ b/components/posetracker/client_test.go @@ -31,7 +31,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) workingPT := &inject.PoseTracker{} diff --git a/components/powersensor/client_test.go b/components/powersensor/client_test.go index e3f1358fafa..4b2e816a338 100644 --- a/components/powersensor/client_test.go +++ b/components/powersensor/client_test.go @@ -22,7 +22,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) testVolts := 4.8 diff --git a/components/sensor/client_test.go b/components/sensor/client_test.go index 0db38b88190..f414b843943 100644 --- a/components/sensor/client_test.go +++ b/components/sensor/client_test.go @@ -27,7 +27,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) rs := map[string]interface{}{"a": 1.1, "b": 2.2} diff --git a/components/servo/client_test.go b/components/servo/client_test.go index d3f9cf70eb7..16a9c44988f 100644 --- a/components/servo/client_test.go +++ b/components/servo/client_test.go @@ -26,7 +26,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var actualExtra map[string]interface{} diff --git a/config/logging_level.go b/config/logging_level.go index 9b3c156f57f..bfdb97ec1ea 100644 --- a/config/logging_level.go +++ b/config/logging_level.go @@ -3,7 +3,6 @@ package config import ( "sync" - "github.com/edaniels/golog" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -27,7 +26,6 @@ var globalLogger struct { func InitLoggingSettings(logger logging.Logger, cmdLineDebugFlag bool) { globalLogger.logger = logger globalLogger.cmdLineDebugFlag = cmdLineDebugFlag - gologLogger := golog.NewDebugLogger("rdk.golog") if cmdLineDebugFlag { logging.GlobalLogLevel.SetLevel(zapcore.DebugLevel) @@ -35,10 +33,8 @@ func InitLoggingSettings(logger logging.Logger, cmdLineDebugFlag bool) { } else { logging.GlobalLogLevel.SetLevel(zapcore.InfoLevel) logger.SetLevel(logging.INFO) - gologLogger = golog.NewLogger("rdk.golog") } - golog.ReplaceGloabl(gologLogger) globalLogger.logger.Info("Log level initialized: ", logging.GlobalLogLevel.Level()) } diff --git a/config/reader.go b/config/reader.go index e96b024da24..52b669cdf13 100644 --- a/config/reader.go +++ b/config/reader.go @@ -712,7 +712,7 @@ func CreateNewGRPCClient(ctx context.Context, cloudCfg *Cloud, logger logging.Lo dialOpts = append(dialOpts, rpc.WithInsecure()) } - return rpc.DialDirectGRPC(ctx, u.Host, logger.AsZap(), dialOpts...) + return rpc.DialDirectGRPC(ctx, u.Host, logger, dialOpts...) } // CreateNewGRPCClientWithAPIKey creates a new grpc cloud configured to communicate with the robot service @@ -738,5 +738,5 @@ func CreateNewGRPCClientWithAPIKey(ctx context.Context, cloudCfg *Cloud, dialOpts = append(dialOpts, rpc.WithInsecure()) } - return rpc.DialDirectGRPC(ctx, u.Host, logger.AsZap(), dialOpts...) + return rpc.DialDirectGRPC(ctx, u.Host, logger, dialOpts...) } diff --git a/config/testutils/fake_cloud.go b/config/testutils/fake_cloud.go index 1c6755f83ce..3c375a1b01a 100644 --- a/config/testutils/fake_cloud.go +++ b/config/testutils/fake_cloud.go @@ -57,7 +57,7 @@ func NewFakeCloudServer(t *testing.T, ctx context.Context, logger logging.Logger deviceConfigs: map[string]*configAndCerts{}, } - server.rpcServer, err = rpc.NewServer(logger.AsZap(), + server.rpcServer, err = rpc.NewServer(logger, rpc.WithDisableMulticastDNS(), rpc.WithAuthHandler(rutils.CredentialsTypeRobotSecret, rpc.AuthHandlerFunc( server.robotSecretAuthenticate, diff --git a/examples/customresources/demos/remoteserver/server_test.go b/examples/customresources/demos/remoteserver/server_test.go index 835edc4a9a0..4a45915e96f 100644 --- a/examples/customresources/demos/remoteserver/server_test.go +++ b/examples/customresources/demos/remoteserver/server_test.go @@ -83,7 +83,7 @@ func TestGizmo(t *testing.T) { test.That(t, err, test.ShouldBeNil) processLogger, logObserver := logging.NewObservedTestLogger(t) - pmgr := pexec.NewProcessManager(processLogger.Sublogger("remoteA").AsZap()) + pmgr := pexec.NewProcessManager(processLogger.Sublogger("remoteA")) pCfg := pexec.ProcessConfig{ ID: "Intermediate", Name: "go", diff --git a/go.mod b/go.mod index 7be31432a52..e4850fc634f 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,6 @@ require ( github.com/docker/go-units v0.5.0 github.com/edaniels/gobag v1.0.7-0.20220607183102-4242cd9e2848 github.com/edaniels/golinters v0.0.5-0.20220906153528-641155550742 - github.com/edaniels/golog v0.0.0-20230215213219-28954395e8d0 github.com/edaniels/lidario v0.0.0-20220607182921-5879aa7b96dd github.com/fatih/color v1.15.0 github.com/fogleman/gg v1.3.0 @@ -88,7 +87,7 @@ require ( go.uber.org/zap v1.24.0 go.viam.com/api v0.1.322 go.viam.com/test v1.1.1-0.20220913152726-5da9916c08a2 - go.viam.com/utils v0.1.85 + go.viam.com/utils v0.1.87 goji.io v2.0.2+incompatible golang.org/x/image v0.15.0 golang.org/x/mobile v0.0.0-20240112133503-c713f31d574b @@ -173,6 +172,7 @@ require ( github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dnephin/pflag v1.0.7 // indirect + github.com/edaniels/golog v0.0.0-20230215213219-28954395e8d0 // indirect github.com/edaniels/zeroconf v1.0.10 // indirect github.com/envoyproxy/go-control-plane v0.11.1 // indirect github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect diff --git a/go.sum b/go.sum index ef917d24ac5..53048acc646 100644 --- a/go.sum +++ b/go.sum @@ -1544,8 +1544,8 @@ go.viam.com/api v0.1.322 h1:bC78B6QOxUgfWU2rOvN+4n03gg1JgZUPF9VN49X9GQc= go.viam.com/api v0.1.322/go.mod h1:msa4TPrMVeRDcG4YzKA/S6wLEUC7GyHQE973JklrQ10= go.viam.com/test v1.1.1-0.20220913152726-5da9916c08a2 h1:oBiK580EnEIzgFLU4lHOXmGAE3MxnVbeR7s1wp/F3Ps= go.viam.com/test v1.1.1-0.20220913152726-5da9916c08a2/go.mod h1:XM0tej6riszsiNLT16uoyq1YjuYPWlRBweTPRDanIts= -go.viam.com/utils v0.1.85 h1:dZHMTt0Wz4s+6J+ex6pwF2JCacHSdVEcDU2XeSyaPeY= -go.viam.com/utils v0.1.85/go.mod h1:VDxTqGLWOvqKrCPECfMX799LDm3PPX6ATeLA6JSkDuY= +go.viam.com/utils v0.1.87 h1:ogXDiWqOFGIosptZYhDpxz+8tr9p8tjVesyC+c6xa8g= +go.viam.com/utils v0.1.87/go.mod h1:VDxTqGLWOvqKrCPECfMX799LDm3PPX6ATeLA6JSkDuY= go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 h1:WJhcL4p+YeDxmZWg141nRm7XC8IDmhz7lk5GpadO1Sg= go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= gocv.io/x/gocv v0.25.0/go.mod h1:Rar2PS6DV+T4FL+PM535EImD/h13hGVaHhnCu1xarBs= diff --git a/gostream/codec/audio_encoder.go b/gostream/codec/audio_encoder.go index aeaed087a7e..91e94864cbc 100644 --- a/gostream/codec/audio_encoder.go +++ b/gostream/codec/audio_encoder.go @@ -4,8 +4,9 @@ import ( "context" "time" - "github.com/edaniels/golog" "github.com/pion/mediadevices/pkg/wave" + + "go.viam.com/rdk/logging" ) // An AudioEncoder is anything that can encode audo chunks into bytes. This means that @@ -18,6 +19,6 @@ type AudioEncoder interface { // An AudioEncoderFactory produces AudioEncoders and provides information about the underlying encoder itself. type AudioEncoderFactory interface { - New(sampleRate, channelCount int, latency time.Duration, logger golog.Logger) (AudioEncoder, error) + New(sampleRate, channelCount int, latency time.Duration, logger logging.Logger) (AudioEncoder, error) MIMEType() string } diff --git a/gostream/codec/h264/encoder.go b/gostream/codec/h264/encoder.go index 91bd2e6488d..6f8b2e8ac5a 100644 --- a/gostream/codec/h264/encoder.go +++ b/gostream/codec/h264/encoder.go @@ -11,13 +11,13 @@ import ( "time" "unsafe" - "github.com/edaniels/golog" "github.com/pion/mediadevices/pkg/io/video" "github.com/pkg/errors" "go.viam.com/rdk/gostream/codec" "go.viam.com/rdk/gostream/ffmpeg/avcodec" "go.viam.com/rdk/gostream/ffmpeg/avutil" + "go.viam.com/rdk/logging" ) const ( @@ -41,7 +41,7 @@ type encoder struct { height int frame *avutil.Frame pts int64 - logger golog.Logger + logger logging.Logger } func (h *encoder) Read() (img image.Image, release func(), err error) { @@ -50,7 +50,7 @@ func (h *encoder) Read() (img image.Image, release func(), err error) { // NewEncoder returns an h264 encoder that can encode images of the given width and height. It will // also ensure that it produces key frames at the given interval. -func NewEncoder(width, height, keyFrameInterval int, logger golog.Logger) (codec.VideoEncoder, error) { +func NewEncoder(width, height, keyFrameInterval int, logger logging.Logger) (codec.VideoEncoder, error) { h := &encoder{width: width, height: height, logger: logger} if h.codec = avcodec.FindEncoderByName(V4l2m2m); h.codec == nil { diff --git a/gostream/codec/h264/utils.go b/gostream/codec/h264/utils.go index 76972d791c0..5e28b2832db 100644 --- a/gostream/codec/h264/utils.go +++ b/gostream/codec/h264/utils.go @@ -3,10 +3,9 @@ package h264 import ( - "github.com/edaniels/golog" - "go.viam.com/rdk/gostream" "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) // DefaultStreamConfig configures h264 as the encoder for a stream. @@ -23,7 +22,7 @@ func NewEncoderFactory() codec.VideoEncoderFactory { type factory struct{} -func (f *factory) New(width, height, keyFrameInterval int, logger golog.Logger) (codec.VideoEncoder, error) { +func (f *factory) New(width, height, keyFrameInterval int, logger logging.Logger) (codec.VideoEncoder, error) { return NewEncoder(width, height, keyFrameInterval, logger) } diff --git a/gostream/codec/mmal/encoder.go b/gostream/codec/mmal/encoder.go index 9a8a85e8452..0993a8b40ca 100644 --- a/gostream/codec/mmal/encoder.go +++ b/gostream/codec/mmal/encoder.go @@ -8,8 +8,8 @@ import ( "image" ourcodec "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" - "github.com/edaniels/golog" "github.com/pion/mediadevices/pkg/codec" "github.com/pion/mediadevices/pkg/codec/mmal" "github.com/pion/mediadevices/pkg/prop" @@ -18,7 +18,7 @@ import ( type encoder struct { codec codec.ReadCloser img image.Image - logger golog.Logger + logger logging.Logger } // Gives suitable results. Probably want to make this configurable this in the future. @@ -26,7 +26,7 @@ const bitrate = 3_200_000 // NewEncoder returns an MMAL encoder that can encode images of the given width and height. It will // also ensure that it produces key frames at the given interval. -func NewEncoder(width, height, keyFrameInterval int, logger golog.Logger) (ourcodec.VideoEncoder, error) { +func NewEncoder(width, height, keyFrameInterval int, logger logging.Logger) (ourcodec.VideoEncoder, error) { enc := &encoder{logger: logger} var builder codec.VideoEncoderBuilder diff --git a/gostream/codec/mmal/utils.go b/gostream/codec/mmal/utils.go index fecf15a82e4..5a328e4685d 100644 --- a/gostream/codec/mmal/utils.go +++ b/gostream/codec/mmal/utils.go @@ -6,7 +6,7 @@ import ( "go.viam.com/rdk/gostream" "go.viam.com/rdk/gostream/codec" - "github.com/edaniels/golog" + "go.viam.com/rdk/logging" ) // DefaultStreamConfig configures MMAL as the encoder for a stream. @@ -23,7 +23,7 @@ func NewEncoderFactory() codec.VideoEncoderFactory { type factory struct{} -func (f *factory) New(width, height, keyFrameInterval int, logger golog.Logger) (codec.VideoEncoder, error) { +func (f *factory) New(width, height, keyFrameInterval int, logger logging.Logger) (codec.VideoEncoder, error) { return NewEncoder(width, height, keyFrameInterval, logger) } diff --git a/gostream/codec/opus/encoder.go b/gostream/codec/opus/encoder.go index 41e71e1abe4..6f44c05f17a 100644 --- a/gostream/codec/opus/encoder.go +++ b/gostream/codec/opus/encoder.go @@ -7,7 +7,6 @@ import ( "sync" "time" - "github.com/edaniels/golog" "github.com/pion/mediadevices/pkg/codec" "github.com/pion/mediadevices/pkg/codec/opus" "github.com/pion/mediadevices/pkg/prop" @@ -15,13 +14,14 @@ import ( "go.viam.com/utils" ourcodec "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) type encoder struct { codec codec.ReadCloser chunkCh chan wave.Audio encodedCh chan encodedData - logger golog.Logger + logger logging.Logger cancelCtx context.Context cancelFunc func() activeBackgroundWorkers sync.WaitGroup @@ -37,7 +37,7 @@ type encodedData struct { // NewEncoder returns an Opus encoder that can encode images of the given width and height. It will // also ensure that it produces key frames at the given interval. -func NewEncoder(sampleRate, channelCount int, latency time.Duration, logger golog.Logger) (ourcodec.AudioEncoder, error) { +func NewEncoder(sampleRate, channelCount int, latency time.Duration, logger logging.Logger) (ourcodec.AudioEncoder, error) { cancelCtx, cancelFunc := context.WithCancel(context.Background()) enc := &encoder{ chunkCh: make(chan wave.Audio, 1), diff --git a/gostream/codec/opus/utils.go b/gostream/codec/opus/utils.go index e0de5bc1c7d..7d42eadb103 100644 --- a/gostream/codec/opus/utils.go +++ b/gostream/codec/opus/utils.go @@ -3,10 +3,9 @@ package opus import ( "time" - "github.com/edaniels/golog" - "go.viam.com/rdk/gostream" "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) // DefaultStreamConfig configures Opus as the audio encoder for a stream. @@ -23,7 +22,7 @@ func NewEncoderFactory() codec.AudioEncoderFactory { type factory struct{} -func (f *factory) New(sampleRate, channelCount int, latency time.Duration, logger golog.Logger) (codec.AudioEncoder, error) { +func (f *factory) New(sampleRate, channelCount int, latency time.Duration, logger logging.Logger) (codec.AudioEncoder, error) { return NewEncoder(sampleRate, channelCount, latency, logger) } diff --git a/gostream/codec/video_encoder.go b/gostream/codec/video_encoder.go index 61471d2603b..6f479cb49bc 100644 --- a/gostream/codec/video_encoder.go +++ b/gostream/codec/video_encoder.go @@ -5,7 +5,7 @@ import ( "context" "image" - "github.com/edaniels/golog" + "go.viam.com/rdk/logging" ) // DefaultKeyFrameInterval is the default interval chosen @@ -23,6 +23,6 @@ type VideoEncoder interface { // A VideoEncoderFactory produces VideoEncoders and provides information about the underlying encoder itself. type VideoEncoderFactory interface { - New(height, width, keyFrameInterval int, logger golog.Logger) (VideoEncoder, error) + New(height, width, keyFrameInterval int, logger logging.Logger) (VideoEncoder, error) MIMEType() string } diff --git a/gostream/codec/vpx/encoder.go b/gostream/codec/vpx/encoder.go index 22489fb1751..20e6612cb3c 100644 --- a/gostream/codec/vpx/encoder.go +++ b/gostream/codec/vpx/encoder.go @@ -6,18 +6,18 @@ import ( "fmt" "image" - "github.com/edaniels/golog" "github.com/pion/mediadevices/pkg/codec" "github.com/pion/mediadevices/pkg/codec/vpx" "github.com/pion/mediadevices/pkg/prop" ourcodec "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) type encoder struct { codec codec.ReadCloser img image.Image - logger golog.Logger + logger logging.Logger } // Version determines the version of a vpx codec. @@ -34,7 +34,7 @@ const bitrate = 3_200_000 // NewEncoder returns a vpx encoder of the given type that can encode images of the given width and height. It will // also ensure that it produces key frames at the given interval. -func NewEncoder(codecVersion Version, width, height, keyFrameInterval int, logger golog.Logger) (ourcodec.VideoEncoder, error) { +func NewEncoder(codecVersion Version, width, height, keyFrameInterval int, logger logging.Logger) (ourcodec.VideoEncoder, error) { enc := &encoder{logger: logger} var builder codec.VideoEncoderBuilder diff --git a/gostream/codec/vpx/utils.go b/gostream/codec/vpx/utils.go index 4d4b80991df..5df607217e8 100644 --- a/gostream/codec/vpx/utils.go +++ b/gostream/codec/vpx/utils.go @@ -3,10 +3,9 @@ package vpx import ( "fmt" - "github.com/edaniels/golog" - "go.viam.com/rdk/gostream" "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) // DefaultStreamConfig configures vpx as the encoder for a stream. @@ -25,7 +24,7 @@ type factory struct { codecVersion Version } -func (f *factory) New(width, height, keyFrameInterval int, logger golog.Logger) (codec.VideoEncoder, error) { +func (f *factory) New(width, height, keyFrameInterval int, logger logging.Logger) (codec.VideoEncoder, error) { return NewEncoder(f.codecVersion, width, height, keyFrameInterval, logger) } diff --git a/gostream/codec/x264/encoder.go b/gostream/codec/x264/encoder.go index be1f33ca89a..fa14b35366d 100644 --- a/gostream/codec/x264/encoder.go +++ b/gostream/codec/x264/encoder.go @@ -5,18 +5,18 @@ import ( "context" "image" - "github.com/edaniels/golog" "github.com/pion/mediadevices/pkg/codec" "github.com/pion/mediadevices/pkg/codec/x264" "github.com/pion/mediadevices/pkg/prop" ourcodec "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) type encoder struct { codec codec.ReadCloser img image.Image - logger golog.Logger + logger logging.Logger } // Gives suitable results. Probably want to make this configurable this in the future. @@ -24,7 +24,7 @@ const bitrate = 3_200_000 // NewEncoder returns an x264 encoder that can encode images of the given width and height. It will // also ensure that it produces key frames at the given interval. -func NewEncoder(width, height, keyFrameInterval int, logger golog.Logger) (ourcodec.VideoEncoder, error) { +func NewEncoder(width, height, keyFrameInterval int, logger logging.Logger) (ourcodec.VideoEncoder, error) { enc := &encoder{logger: logger} var builder codec.VideoEncoderBuilder diff --git a/gostream/codec/x264/encoder_test.go b/gostream/codec/x264/encoder_test.go index b9285b627d8..a8b608fc280 100644 --- a/gostream/codec/x264/encoder_test.go +++ b/gostream/codec/x264/encoder_test.go @@ -10,9 +10,10 @@ import ( "os" "testing" - "github.com/edaniels/golog" "github.com/nfnt/resize" "go.viam.com/test" + + "go.viam.com/rdk/logging" ) const ( @@ -54,7 +55,7 @@ func getResizedImageFromFile(b *testing.B, loc string) image.Image { func BenchmarkEncodeRGBA(b *testing.B) { var w bool - var logger golog.Logger + var logger logging.Logger imgCyan := getResizedImageFromFile(b, "../../data/cyan.png") imgFuchsia := getResizedImageFromFile(b, "../../data/fuchsia.png") @@ -77,7 +78,7 @@ func BenchmarkEncodeRGBA(b *testing.B) { func BenchmarkEncodeYCbCr(b *testing.B) { var w bool - var logger golog.Logger + var logger logging.Logger imgCyan := getResizedImageFromFile(b, "../../data/cyan.png") imgFuchsia := getResizedImageFromFile(b, "../../data/fuchsia.png") diff --git a/gostream/codec/x264/utils.go b/gostream/codec/x264/utils.go index 36421f3a554..74761cf49a6 100644 --- a/gostream/codec/x264/utils.go +++ b/gostream/codec/x264/utils.go @@ -1,10 +1,9 @@ package x264 import ( - "github.com/edaniels/golog" - "go.viam.com/rdk/gostream" "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" ) // DefaultStreamConfig configures x264 as the encoder for a stream. @@ -21,7 +20,7 @@ func NewEncoderFactory() codec.VideoEncoderFactory { type factory struct{} -func (f *factory) New(width, height, keyFrameInterval int, logger golog.Logger) (codec.VideoEncoder, error) { +func (f *factory) New(width, height, keyFrameInterval int, logger logging.Logger) (codec.VideoEncoder, error) { return NewEncoder(width, height, keyFrameInterval, logger) } diff --git a/gostream/query.go b/gostream/query.go index ece276598ff..d95c3ea479b 100644 --- a/gostream/query.go +++ b/gostream/query.go @@ -7,7 +7,6 @@ import ( "strings" "time" - "github.com/edaniels/golog" "github.com/pion/mediadevices" "github.com/pion/mediadevices/pkg/driver" "github.com/pion/mediadevices/pkg/driver/availability" @@ -16,6 +15,8 @@ import ( "github.com/pion/mediadevices/pkg/prop" "github.com/pion/mediadevices/pkg/wave" "github.com/pkg/errors" + + "go.viam.com/rdk/logging" ) // below adapted from github.com/pion/mediadevices @@ -48,7 +49,7 @@ var DefaultConstraints = mediadevices.MediaStreamConstraints{ func GetNamedScreenSource( name string, constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[image.Image], error) { d, selectedMedia, err := getScreenDriver(constraints, &name, logger) if err != nil { @@ -61,7 +62,7 @@ func GetNamedScreenSource( func GetPatternedScreenSource( labelPattern *regexp.Regexp, constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[image.Image], error) { d, selectedMedia, err := getScreenDriverPattern(constraints, labelPattern, logger) if err != nil { @@ -74,7 +75,7 @@ func GetPatternedScreenSource( func GetNamedVideoSource( name string, constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[image.Image], error) { d, selectedMedia, err := getUserVideoDriver(constraints, &name, logger) if err != nil { @@ -87,7 +88,7 @@ func GetNamedVideoSource( func GetPatternedVideoSource( labelPattern *regexp.Regexp, constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[image.Image], error) { d, selectedMedia, err := getUserVideoDriverPattern(constraints, labelPattern, logger) if err != nil { @@ -99,7 +100,7 @@ func GetPatternedVideoSource( // GetAnyScreenSource attempts to find any suitable screen device. func GetAnyScreenSource( constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[image.Image], error) { d, selectedMedia, err := getScreenDriver(constraints, nil, logger) if err != nil { @@ -111,7 +112,7 @@ func GetAnyScreenSource( // GetAnyVideoSource attempts to find any suitable video device (not a screen). func GetAnyVideoSource( constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[image.Image], error) { d, selectedMedia, err := getUserVideoDriver(constraints, nil, logger) if err != nil { @@ -123,7 +124,7 @@ func GetAnyVideoSource( // GetAnyAudioSource attempts to find any suitable audio device. func GetAnyAudioSource( constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[wave.Audio], error) { d, selectedMedia, err := getUserAudioDriver(constraints, nil, logger) if err != nil { @@ -136,7 +137,7 @@ func GetAnyAudioSource( func GetNamedAudioSource( name string, constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[wave.Audio], error) { d, selectedMedia, err := getUserAudioDriver(constraints, &name, logger) if err != nil { @@ -149,7 +150,7 @@ func GetNamedAudioSource( func GetPatternedAudioSource( labelPattern *regexp.Regexp, constraints mediadevices.MediaStreamConstraints, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[wave.Audio], error) { d, selectedMedia, err := getUserAudioDriverPattern(constraints, labelPattern, logger) if err != nil { @@ -235,7 +236,7 @@ func getDriverLabels(d driver.Driver, useSep bool) []string { func getScreenDriver( constraints mediadevices.MediaStreamConstraints, label *string, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var videoConstraints mediadevices.MediaTrackConstraints if constraints.Video != nil { @@ -247,7 +248,7 @@ func getScreenDriver( func getScreenDriverPattern( constraints mediadevices.MediaStreamConstraints, labelPattern *regexp.Regexp, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var videoConstraints mediadevices.MediaTrackConstraints if constraints.Video != nil { @@ -259,7 +260,7 @@ func getScreenDriverPattern( func getUserVideoDriver( constraints mediadevices.MediaStreamConstraints, label *string, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var videoConstraints mediadevices.MediaTrackConstraints if constraints.Video != nil { @@ -271,7 +272,7 @@ func getUserVideoDriver( func getUserVideoDriverPattern( constraints mediadevices.MediaStreamConstraints, labelPattern *regexp.Regexp, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var videoConstraints mediadevices.MediaTrackConstraints if constraints.Video != nil { @@ -308,7 +309,7 @@ func newVideoSourceFromDriver( func getUserAudioDriver( constraints mediadevices.MediaStreamConstraints, label *string, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var audioConstraints mediadevices.MediaTrackConstraints if constraints.Audio != nil { @@ -320,7 +321,7 @@ func getUserAudioDriver( func getUserAudioDriverPattern( constraints mediadevices.MediaStreamConstraints, labelPattern *regexp.Regexp, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var audioConstraints mediadevices.MediaTrackConstraints if constraints.Audio != nil { @@ -332,7 +333,7 @@ func getUserAudioDriverPattern( func newAudioSourceFromDriver( audioDriver driver.Driver, mediaProp prop.Media, - logger golog.Logger, + logger logging.Logger, ) (MediaSource[wave.Audio], error) { recorder, ok := audioDriver.(driver.AudioRecorder) if !ok { @@ -388,7 +389,7 @@ func labelFilterPattern(labelPattern *regexp.Regexp, useSep bool) driver.FilterF func selectVideo( constraints mediadevices.MediaTrackConstraints, label *string, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { return selectBestDriver(getVideoFilterBase(), getVideoFilter(label), constraints, logger) } @@ -396,7 +397,7 @@ func selectVideo( func selectVideoPattern( constraints mediadevices.MediaTrackConstraints, labelPattern *regexp.Regexp, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { return selectBestDriver(getVideoFilterBase(), getVideoFilterPattern(labelPattern), constraints, logger) } @@ -404,7 +405,7 @@ func selectVideoPattern( func selectScreen( constraints mediadevices.MediaTrackConstraints, label *string, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { return selectBestDriver(getScreenFilterBase(), getScreenFilter(label), constraints, logger) } @@ -412,7 +413,7 @@ func selectScreen( func selectScreenPattern( constraints mediadevices.MediaTrackConstraints, labelPattern *regexp.Regexp, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { return selectBestDriver(getScreenFilterBase(), getScreenFilterPattern(labelPattern), constraints, logger) } @@ -420,7 +421,7 @@ func selectScreenPattern( func selectAudio( constraints mediadevices.MediaTrackConstraints, label *string, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { return selectBestDriver(getAudioFilterBase(), getAudioFilter(label), constraints, logger) } @@ -483,7 +484,7 @@ func selectBestDriver( baseFilter driver.FilterFn, filter driver.FilterFn, constraints mediadevices.MediaTrackConstraints, - logger golog.Logger, + logger logging.Logger, ) (driver.Driver, prop.Media, error) { var bestDriver driver.Driver var bestProp prop.Media @@ -541,7 +542,7 @@ func selectBestDriver( func queryDriverProperties( filter driver.FilterFn, - logger golog.Logger, + logger logging.Logger, ) map[driver.Driver][]prop.Media { var needToClose []driver.Driver drivers := driver.GetManager().Query(filter) diff --git a/gostream/source_stream_utils.go b/gostream/source_stream_utils.go index 720a6c227a6..cd4b1a2b1df 100644 --- a/gostream/source_stream_utils.go +++ b/gostream/source_stream_utils.go @@ -3,38 +3,39 @@ package gostream import ( "context" - "github.com/edaniels/golog" "go.viam.com/utils" + + "go.viam.com/rdk/logging" ) // StreamVideoSource streams the given video source to the stream forever until context signals cancellation. -func StreamVideoSource(ctx context.Context, vs VideoSource, stream Stream) error { +func StreamVideoSource(ctx context.Context, vs VideoSource, stream Stream, logger logging.Logger) error { return streamMediaSource(ctx, vs, stream, func(ctx context.Context, frameErr error) { - golog.Global().Debugw("error getting frame", "error", frameErr) - }, stream.InputVideoFrames) + logger.Debugw("error getting frame", "error", frameErr) + }, stream.InputVideoFrames, logger) } // StreamAudioSource streams the given video source to the stream forever until context signals cancellation. -func StreamAudioSource(ctx context.Context, as AudioSource, stream Stream) error { +func StreamAudioSource(ctx context.Context, as AudioSource, stream Stream, logger logging.Logger) error { return streamMediaSource(ctx, as, stream, func(ctx context.Context, frameErr error) { - golog.Global().Debugw("error getting frame", "error", frameErr) - }, stream.InputAudioChunks) + logger.Debugw("error getting frame", "error", frameErr) + }, stream.InputAudioChunks, logger) } // StreamVideoSourceWithErrorHandler streams the given video source to the stream forever // until context signals cancellation, frame errors are sent via the error handler. func StreamVideoSourceWithErrorHandler( - ctx context.Context, vs VideoSource, stream Stream, errHandler ErrorHandler, + ctx context.Context, vs VideoSource, stream Stream, errHandler ErrorHandler, logger logging.Logger, ) error { - return streamMediaSource(ctx, vs, stream, errHandler, stream.InputVideoFrames) + return streamMediaSource(ctx, vs, stream, errHandler, stream.InputVideoFrames, logger) } // StreamAudioSourceWithErrorHandler streams the given audio source to the stream forever // until context signals cancellation, audio errors are sent via the error handler. func StreamAudioSourceWithErrorHandler( - ctx context.Context, as AudioSource, stream Stream, errHandler ErrorHandler, + ctx context.Context, as AudioSource, stream Stream, errHandler ErrorHandler, logger logging.Logger, ) error { - return streamMediaSource(ctx, as, stream, errHandler, stream.InputAudioChunks) + return streamMediaSource(ctx, as, stream, errHandler, stream.InputAudioChunks, logger) } // streamMediaSource will stream a source of media forever to the stream until the given context tells it to cancel. @@ -44,6 +45,7 @@ func streamMediaSource[T, U any]( stream Stream, errHandler ErrorHandler, inputChan func(props U) (chan<- MediaReleasePair[T], error), + logger logging.Logger, ) error { streamLoop := func() error { readyCh, readyCtx := stream.StreamingReady() @@ -57,10 +59,10 @@ func streamMediaSource[T, U any]( var err error props, err = provider.MediaProperties(ctx) if err != nil { - golog.Global().Debugw("no properties found for media; will assume empty", "error", err) + logger.Debugw("no properties found for media; will assume empty", "error", err) } } else { - golog.Global().Debug("no properties found for media; will assume empty") + logger.Debug("no properties found for media; will assume empty") } input, err := inputChan(props) if err != nil { diff --git a/gostream/stream.go b/gostream/stream.go index a1be2785b29..687d72c0920 100644 --- a/gostream/stream.go +++ b/gostream/stream.go @@ -8,7 +8,6 @@ import ( "sync" "time" - "github.com/edaniels/golog" "github.com/google/uuid" "github.com/pion/mediadevices/pkg/prop" "github.com/pion/mediadevices/pkg/wave" @@ -17,6 +16,7 @@ import ( "go.viam.com/utils" "go.viam.com/rdk/gostream/codec" + "go.viam.com/rdk/logging" "go.viam.com/rdk/rimage" utils2 "go.viam.com/rdk/utils" ) @@ -60,11 +60,7 @@ type MediaReleasePair[T any] struct { // NewStream returns a newly configured stream that can begin to handle // new connections. -func NewStream(config StreamConfig) (Stream, error) { - logger := config.Logger - if logger == nil { - logger = golog.Global() - } +func NewStream(config StreamConfig, logger logging.Logger) (Stream, error) { if config.VideoEncoderFactory == nil && config.AudioEncoderFactory == nil { return nil, errors.New("at least one audio or video encoder factory must be set") } @@ -142,7 +138,7 @@ type basicStream struct { shutdownCtx context.Context shutdownCtxCancel func() activeBackgroundWorkers sync.WaitGroup - logger golog.Logger + logger logging.Logger } func (bs *basicStream) Name() string { diff --git a/gostream/stream_config.go b/gostream/stream_config.go index 0b064e74b0e..63aa9694451 100644 --- a/gostream/stream_config.go +++ b/gostream/stream_config.go @@ -1,8 +1,6 @@ package gostream import ( - "github.com/edaniels/golog" - "go.viam.com/rdk/gostream/codec" ) @@ -14,6 +12,4 @@ type StreamConfig struct { // TargetFrameRate will hint to the stream to try to maintain this frame rate. TargetFrameRate int - - Logger golog.Logger } diff --git a/grpc/dial.go b/grpc/dial.go index f7dd5d25207..bf4d25be839 100644 --- a/grpc/dial.go +++ b/grpc/dial.go @@ -35,7 +35,7 @@ func Dial(ctx context.Context, address string, logger logging.Logger, opts ...rp ctx, cancel := contextutils.ContextWithTimeoutIfNoDeadline(ctx, defaultDialTimeout) defer cancel() - return rpc.Dial(ctx, address, logger.AsZap(), optsCopy...) + return rpc.Dial(ctx, address, logger, optsCopy...) } // InferSignalingServerAddress returns the appropriate WebRTC signaling server address diff --git a/grpc/shared_conn.go b/grpc/shared_conn.go index ff99021cae3..8fc0c807189 100644 --- a/grpc/shared_conn.go +++ b/grpc/shared_conn.go @@ -192,7 +192,7 @@ func (sc *SharedConn) ResetConn(conn rpc.ClientConn, moduleLogger logging.Logger } sc.peerConn = peerConn - sc.peerConnReady, sc.peerConnClosed, err = rpc.ConfigureForRenegotiation(peerConn, rpc.PeerRoleClient, sc.logger.AsZap()) + sc.peerConnReady, sc.peerConnClosed, err = rpc.ConfigureForRenegotiation(peerConn, rpc.PeerRoleClient, sc.logger) if err != nil { sc.logger.Warnw("Unable to create optional renegotiation channel for module. Ignoring.", "err", err) return @@ -371,7 +371,7 @@ func NewLocalPeerConnection(logger logging.Logger) (*webrtc.PeerConnection, erro return pc, nil } -// WebRTCLoggerFactory wraps a golog.Logger for use with pion's webrtc logging system. +// WebRTCLoggerFactory wraps a logging.Logger for use with pion's webrtc logging system. type WebRTCLoggerFactory struct { Logger logging.Logger } diff --git a/grpc/shared_conn_test.go b/grpc/shared_conn_test.go index a52d7b87baf..0b685feb342 100644 --- a/grpc/shared_conn_test.go +++ b/grpc/shared_conn_test.go @@ -27,7 +27,7 @@ func TestNewLocalPeerConnection(t *testing.T) { defer cMu.Unlock() clientCandates = append(clientCandates, i) }) - clientPeerConnReady, clientPeerConnClosed, err := rpc.ConfigureForRenegotiation(client, rpc.PeerRoleClient, logger.AsZap()) + clientPeerConnReady, clientPeerConnClosed, err := rpc.ConfigureForRenegotiation(client, rpc.PeerRoleClient, logger) test.That(t, err, test.ShouldBeNil) var sMu sync.Mutex @@ -42,7 +42,7 @@ func TestNewLocalPeerConnection(t *testing.T) { test.That(t, client.Close(), test.ShouldBeNil) <-clientPeerConnClosed }() - serverPeerConnReady, serverPeerConnClosed, err := rpc.ConfigureForRenegotiation(server, rpc.PeerRoleServer, logger.AsZap()) + serverPeerConnReady, serverPeerConnClosed, err := rpc.ConfigureForRenegotiation(server, rpc.PeerRoleServer, logger) test.That(t, err, test.ShouldBeNil) defer func() { server.Close() @@ -126,14 +126,14 @@ func signalPair(t *testing.T, left, right *webrtc.PeerConnection) { } func testClientServer(t *testing.T, client, server *webrtc.PeerConnection, logger logging.Logger) { - clientPeerConnReady, clientPeerConnClosed, err := rpc.ConfigureForRenegotiation(client, rpc.PeerRoleClient, logger.AsZap()) + clientPeerConnReady, clientPeerConnClosed, err := rpc.ConfigureForRenegotiation(client, rpc.PeerRoleClient, logger) test.That(t, err, test.ShouldBeNil) defer func() { test.That(t, client.Close(), test.ShouldBeNil) <-clientPeerConnClosed }() - serverPeerConnReady, serverPeerConnClosed, err := rpc.ConfigureForRenegotiation(server, rpc.PeerRoleServer, logger.AsZap()) + serverPeerConnReady, serverPeerConnClosed, err := rpc.ConfigureForRenegotiation(server, rpc.PeerRoleServer, logger) test.That(t, err, test.ShouldBeNil) defer func() { server.Close() diff --git a/internal/cloud/service_test.go b/internal/cloud/service_test.go index a5365492011..0784a1f9ced 100644 --- a/internal/cloud/service_test.go +++ b/internal/cloud/service_test.go @@ -32,7 +32,7 @@ func TestNotCloudManaged(t *testing.T) { func TestCloudManaged(t *testing.T) { logger := logging.NewTestLogger(t) - server, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + server, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) test.That(t, server.RegisterServiceServer( @@ -146,7 +146,7 @@ func TestCloudManagedWithAuth(t *testing.T) { logger := logging.NewTestLogger(t) server, err := rpc.NewServer( - logger.AsZap(), + logger, rpc.WithAuthHandler( utils.CredentialsTypeRobotSecret, rpc.MakeSimpleMultiAuthHandler([]string{"foo"}, []string{"bar"}), diff --git a/logging/logging.go b/logging/logging.go index b78921feb16..c4c77cf4124 100644 --- a/logging/logging.go +++ b/logging/logging.go @@ -13,7 +13,7 @@ import ( var ( globalMu sync.RWMutex - globalLogger = NewDebugLogger("startup") + globalLogger = NewDebugLogger("global") // GlobalLogLevel should be used whenever a zap logger is created that wants to obey the debug // flag from the CLI or robot config. @@ -126,13 +126,13 @@ type MemLogger struct { Logger tb testing.TB - observer *observer.ObservedLogs + Observer *observer.ObservedLogs } // OutputLogs writes in-memory logs to the test object MemLogger was constructed with. func (memLogger *MemLogger) OutputLogs() { appender := NewTestAppender(memLogger.tb) - for _, loggedEntry := range memLogger.observer.All() { + for _, loggedEntry := range memLogger.Observer.All() { utils.UncheckedError(appender.Write(loggedEntry.Entry, loggedEntry.Context)) } } diff --git a/logging/net_appender.go b/logging/net_appender.go index 7c7aa773613..f3c215f81ff 100644 --- a/logging/net_appender.go +++ b/logging/net_appender.go @@ -439,7 +439,7 @@ func CreateNewGRPCClient(ctx context.Context, cloudCfg *CloudConfig) (rpc.Client dialOpts = append(dialOpts, rpc.WithInsecure()) } - return rpc.DialDirectGRPC(ctx, grpcURL.Host, NewLogger("netlogger").AsZap(), dialOpts...) + return rpc.DialDirectGRPC(ctx, grpcURL.Host, NewLogger("netlogger"), dialOpts...) } // A NetAppender must implement a zapcore such that it gets copied when downconverting on diff --git a/logging/net_appender_test.go b/logging/net_appender_test.go index ad1b1822ddc..dd71fd011b1 100644 --- a/logging/net_appender_test.go +++ b/logging/net_appender_test.go @@ -85,7 +85,7 @@ func makeServerForRobotLogger(t *testing.T) serverForRobotLogger { logger := NewTestLogger(t) listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) robotService := &mockRobotService{expectedID: "abc-123"} diff --git a/module/modmanager/manager.go b/module/modmanager/manager.go index 81902f43d46..3c4b6ab6d76 100644 --- a/module/modmanager/manager.go +++ b/module/modmanager/manager.go @@ -1086,7 +1086,7 @@ func (m *module) startProcess( pconf.Args = append(pconf.Args, fmt.Sprintf(logLevelArgumentTemplate, "debug")) } - m.process = pexec.NewManagedProcess(pconf, logger.AsZap()) + m.process = pexec.NewManagedProcess(pconf, logger) if err := m.process.Start(context.Background()); err != nil { return errors.WithMessage(err, "module startup failed") diff --git a/module/module.go b/module/module.go index ab41317e18b..38db990ca27 100644 --- a/module/module.go +++ b/module/module.go @@ -236,7 +236,7 @@ func NewModule(ctx context.Context, address string, logger logging.Logger) (*Mod } // attempt to configure PeerConnection - pcReady, pcClosed, err := rpc.ConfigureForRenegotiation(pc, rpc.PeerRoleServer, logger.AsZap()) + pcReady, pcClosed, err := rpc.ConfigureForRenegotiation(pc, rpc.PeerRoleServer, logger) if err != nil { msg := "Error creating renegotiation channel for module. Unable to " + "create optional peer connection for module. Skipping WebRTC for module..." @@ -618,7 +618,7 @@ func (m *Module) ValidateConfig(ctx context.Context, // RemoveResource receives the request for resource removal. func (m *Module) RemoveResource(ctx context.Context, req *pb.RemoveResourceRequest) (*pb.RemoveResourceResponse, error) { slowWatcher, slowWatcherCancel := utils.SlowGoroutineWatcher( - 30*time.Second, fmt.Sprintf("module resource %q is taking a while to remove", req.Name), m.logger.AsZap()) + 30*time.Second, fmt.Sprintf("module resource %q is taking a while to remove", req.Name), m.logger) defer func() { slowWatcherCancel() <-slowWatcher diff --git a/robot/client/client_test.go b/robot/client/client_test.go index 0d4f4ee12e4..d8fe3cf707b 100644 --- a/robot/client/client_test.go +++ b/robot/client/client_test.go @@ -15,7 +15,6 @@ import ( "testing" "time" - "github.com/edaniels/golog" "github.com/go-viper/mapstructure/v2" "github.com/golang/geo/r3" "github.com/google/uuid" @@ -160,7 +159,7 @@ var resourceFunc2 = func(*pb.ResourceNamesRequest) (*pb.ResourceNamesResponse, e return &pb.ResourceNamesResponse{Resources: rNames}, nil } -func makeRPCServer(logger golog.Logger, option rpc.ServerOption) (rpc.Server, net.Listener, error) { +func makeRPCServer(logger logging.Logger, option rpc.ServerOption) (rpc.Server, net.Listener, error) { err := errors.New("failed to make rpc server") var addr string var listener net.Listener @@ -197,10 +196,10 @@ func TestUnimplementedRPCSubtypes(t *testing.T) { logger1 := logging.NewTestLogger(t) logger2 := logging.NewTestLogger(t) - rpcServer1, listener1, err := makeRPCServer(logger1.AsZap(), rpc.WithUnauthenticated()) + rpcServer1, listener1, err := makeRPCServer(logger1, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) - rpcServer2, listener2, err := makeRPCServer(logger2.AsZap(), rpc.WithUnauthenticated()) + rpcServer2, listener2, err := makeRPCServer(logger2, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) defer func() { diff --git a/robot/impl/resource_manager.go b/robot/impl/resource_manager.go index e15e99a597e..df06ca0c4fa 100644 --- a/robot/impl/resource_manager.go +++ b/robot/impl/resource_manager.go @@ -87,7 +87,7 @@ func newProcessManager( if opts.untrustedEnv { return pexec.NoopProcessManager } - return pexec.NewProcessManager(logger.AsZap()) + return pexec.NewProcessManager(logger) } func fromRemoteNameToRemoteNodeName(name string) resource.Name { diff --git a/robot/packages/testutils/fake_package_server.go b/robot/packages/testutils/fake_package_server.go index 8d131133d9d..8d5baba479c 100644 --- a/robot/packages/testutils/fake_package_server.go +++ b/robot/packages/testutils/fake_package_server.go @@ -105,7 +105,7 @@ func NewFakePackageServer(ctx context.Context, logger logging.Logger) (*FakePack } }) - server.rpcServer, err = rpc.NewServer(logger.AsZap(), + server.rpcServer, err = rpc.NewServer(logger, rpc.WithDisableMulticastDNS(), rpc.WithUnauthenticated(), rpc.WithWebRTCServerOptions(rpc.WebRTCServerOptions{Enable: false})) @@ -143,7 +143,7 @@ func (c *FakePackagesClientAndGCSServer) Addr() net.Addr { // Client returns a connect client to the server and connection. func (c *FakePackagesClientAndGCSServer) Client(ctx context.Context) (pb.PackageServiceClient, rpc.ClientConn, error) { - conn, err := rpc.DialDirectGRPC(ctx, c.listener.Addr().String(), c.logger.AsZap(), rpc.WithInsecure()) + conn, err := rpc.DialDirectGRPC(ctx, c.listener.Addr().String(), c.logger, rpc.WithInsecure()) if err != nil { return nil, nil, err } diff --git a/robot/web/stream/server.go b/robot/web/stream/server.go index 365851cf01d..3a69d2c0177 100644 --- a/robot/web/stream/server.go +++ b/robot/web/stream/server.go @@ -81,7 +81,7 @@ func (ss *Server) NewStream(config gostream.StreamConfig) (gostream.Stream, erro return nil, &StreamAlreadyRegisteredError{config.Name} } - stream, err := gostream.NewStream(config) + stream, err := gostream.NewStream(config, ss.logger) if err != nil { return nil, err } diff --git a/robot/web/stream/stream.go b/robot/web/stream/stream.go index 554d19d15e3..da0f08ac469 100644 --- a/robot/web/stream/stream.go +++ b/robot/web/stream/stream.go @@ -23,7 +23,7 @@ func StreamVideoSource( backoffOpts *BackoffTuningOptions, logger logging.Logger, ) error { - return gostream.StreamVideoSourceWithErrorHandler(ctx, source, stream, backoffOpts.getErrorThrottledHandler(logger)) + return gostream.StreamVideoSourceWithErrorHandler(ctx, source, stream, backoffOpts.getErrorThrottledHandler(logger), logger) } // StreamAudioSource starts a stream from an audio source with a throttled error handler. @@ -34,7 +34,7 @@ func StreamAudioSource( backoffOpts *BackoffTuningOptions, logger logging.Logger, ) error { - return gostream.StreamAudioSourceWithErrorHandler(ctx, source, stream, backoffOpts.getErrorThrottledHandler(logger)) + return gostream.StreamAudioSourceWithErrorHandler(ctx, source, stream, backoffOpts.getErrorThrottledHandler(logger), logger) } // BackoffTuningOptions represents a set of parameters for determining exponential diff --git a/robot/web/web.go b/robot/web/web.go index cc74b157d84..181e43c0d0e 100644 --- a/robot/web/web.go +++ b/robot/web/web.go @@ -501,7 +501,7 @@ func (svc *webService) runWeb(ctx context.Context, options weboptions.Options) ( return err } - svc.rpcServer, err = rpc.NewServer(svc.logger.AsZap(), rpcOpts...) + svc.rpcServer, err = rpc.NewServer(svc.logger, rpcOpts...) if err != nil { return err } diff --git a/robot/web/web_c.go b/robot/web/web_c.go index 8c70d8821fb..a841a617fc1 100644 --- a/robot/web/web_c.go +++ b/robot/web/web_c.go @@ -192,7 +192,7 @@ func (svc *webService) makeStreamServer(ctx context.Context) (*StreamServer, err } else { config.AudioEncoderFactory = svc.opts.streamConfig.AudioEncoderFactory } - stream, err := gostream.NewStream(config) + stream, err := gostream.NewStream(config, svc.logger) if err != nil { return streams, err } diff --git a/services/datamanager/client_test.go b/services/datamanager/client_test.go index 25821e6f898..e454a24121b 100644 --- a/services/datamanager/client_test.go +++ b/services/datamanager/client_test.go @@ -23,7 +23,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var extraOptions map[string]interface{} diff --git a/services/generic/client_test.go b/services/generic/client_test.go index efb6e039bcb..3f2bddf4e1f 100644 --- a/services/generic/client_test.go +++ b/services/generic/client_test.go @@ -25,7 +25,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) workingGeneric := &inject.GenericService{} diff --git a/services/mlmodel/client_test.go b/services/mlmodel/client_test.go index ed601b547e2..a7a9e5c656e 100644 --- a/services/mlmodel/client_test.go +++ b/services/mlmodel/client_test.go @@ -26,7 +26,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) fakeModel := inject.NewMLModelService(testMLModelServiceName) diff --git a/services/mlmodel/tflitecpu/tflite_cpu_test.go b/services/mlmodel/tflitecpu/tflite_cpu_test.go index 06fa6a17726..72a6d617a3c 100644 --- a/services/mlmodel/tflitecpu/tflite_cpu_test.go +++ b/services/mlmodel/tflitecpu/tflite_cpu_test.go @@ -214,7 +214,7 @@ func TestTFLiteCPUClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) modelParams := TFLiteConfig{ // classifier config diff --git a/services/motion/client_test.go b/services/motion/client_test.go index 5ced09e6358..4e33d355a1c 100644 --- a/services/motion/client_test.go +++ b/services/motion/client_test.go @@ -40,7 +40,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectMS := &inject.MotionService{} diff --git a/services/navigation/client_test.go b/services/navigation/client_test.go index bb311d87126..db47149badc 100644 --- a/services/navigation/client_test.go +++ b/services/navigation/client_test.go @@ -34,7 +34,7 @@ func TestClient(t *testing.T) { test.That(t, err, test.ShouldBeNil) listener2, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - workingServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + workingServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) failingServer := grpc.NewServer() diff --git a/services/sensors/client_test.go b/services/sensors/client_test.go index 5f1c4b07413..c94d373153c 100644 --- a/services/sensors/client_test.go +++ b/services/sensors/client_test.go @@ -24,7 +24,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) var extraOptions map[string]interface{} diff --git a/services/shell/client_test.go b/services/shell/client_test.go index f4adeb5d2cd..13314737ca2 100644 --- a/services/shell/client_test.go +++ b/services/shell/client_test.go @@ -22,7 +22,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectShell := &inject.ShellService{} diff --git a/services/slam/client_test.go b/services/slam/client_test.go index 37af60e3c09..76f0ec2e1e2 100644 --- a/services/slam/client_test.go +++ b/services/slam/client_test.go @@ -38,7 +38,7 @@ func TestClientWorkingService(t *testing.T) { logger := logging.NewTestLogger(t) listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - workingServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + workingServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) poseSucc := spatial.NewPose(r3.Vector{X: 1, Y: 2, Z: 3}, &spatial.OrientationVector{Theta: math.Pi / 2, OX: 0, OY: 0, OZ: -1}) pcSucc := &vision.Object{} @@ -275,7 +275,7 @@ func TestFailingClient(t *testing.T) { listener, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - failingServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + failingServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) pcFail := &vision.Object{} diff --git a/services/vision/client_test.go b/services/vision/client_test.go index 73c0d22bb5e..1ad58d86161 100644 --- a/services/vision/client_test.go +++ b/services/vision/client_test.go @@ -26,7 +26,7 @@ func TestClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) srv := &inject.VisionService{} @@ -159,7 +159,7 @@ func TestInjectedServiceClient(t *testing.T) { logger := logging.NewTestLogger(t) listener1, err := net.Listen("tcp", "localhost:0") test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) injectVision := &inject.VisionService{} diff --git a/testutils/module_utils.go b/testutils/module_utils.go index 7f3b3d77f8c..c697f5e2984 100644 --- a/testutils/module_utils.go +++ b/testutils/module_utils.go @@ -27,7 +27,7 @@ func MakeRobotForModuleLogging(t *testing.T, parentAddr string) rpc.Server { logger := logging.NewTestLogger(t) listener, err := net.Listen("unix", parentAddr) test.That(t, err, test.ShouldBeNil) - rpcServer, err := rpc.NewServer(logger.AsZap(), rpc.WithUnauthenticated()) + rpcServer, err := rpc.NewServer(logger, rpc.WithUnauthenticated()) test.That(t, err, test.ShouldBeNil) robotService := &mockRobotService{} diff --git a/testutils/robottestutils/robot_utils.go b/testutils/robottestutils/robot_utils.go index a6fa09095a3..a68f9e40586 100644 --- a/testutils/robottestutils/robot_utils.go +++ b/testutils/robottestutils/robot_utils.go @@ -109,7 +109,7 @@ func ServerAsSeparateProcess(t *testing.T, cfgFileName string, logger logging.Lo CWD: utils.ResolveFile("./"), Environment: map[string]string{"HOME": testTempHome}, Log: true, - }, logger.AsZap()) + }, logger) return server } diff --git a/web/server/entrypoint.go b/web/server/entrypoint.go index 578c95d8df6..e6e0c7d021f 100644 --- a/web/server/entrypoint.go +++ b/web/server/entrypoint.go @@ -222,7 +222,7 @@ func (s *robotServer) serveWeb(ctx context.Context, cfg *config.Config) (err err hungShutdownDeadline := 90 * time.Second slowWatcher, slowWatcherCancel := utils.SlowGoroutineWatcherAfterContext( - ctx, hungShutdownDeadline, "server is taking a while to shutdown", s.logger.AsZap()) + ctx, hungShutdownDeadline, "server is taking a while to shutdown", s.logger) doneServing := make(chan struct{}) diff --git a/web/server/entrypoint_test.go b/web/server/entrypoint_test.go index eaa8a9a1f5a..ef178052b8c 100644 --- a/web/server/entrypoint_test.go +++ b/web/server/entrypoint_test.go @@ -124,8 +124,8 @@ func TestShutdown(t *testing.T) { testLogger := logging.NewTestLogger(t) // Pass in a separate logger to the managed server process that only outputs WARN+ // logs. This avoids the test spamming stdout with stack traces from the shutdown command. - serverLogger, serverLogObserver := logging.NewObservedTestLogger(t) - serverLogger.SetLevel(logging.WARN) + serverLogger := logging.NewInMemoryLogger(t) + serverLogObserver := serverLogger.Observer cfgFilename := utils.ResolveFile("/etc/configs/fake.json") cfg, err := config.Read(context.Background(), cfgFilename, testLogger)