diff --git a/internal/module/http-client.go b/internal/module/http-client.go index 93639dc..a3a5eae 100644 --- a/internal/module/http-client.go +++ b/internal/module/http-client.go @@ -24,7 +24,7 @@ func init() { Type: "http.client", New: func(ctx context.Context, config config.ModuleConfig, router route.RouteIO) (Module, error) { - return &HTTPClient{config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &HTTPClient{config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/http-server.go b/internal/module/http-server.go index b0b24c0..e2f9220 100644 --- a/internal/module/http-server.go +++ b/internal/module/http-server.go @@ -41,7 +41,7 @@ func init() { return nil, errors.New("http.server port must be uint16") } - return &HTTPServer{Port: uint16(portNum), config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &HTTPServer{Port: uint16(portNum), config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/interval.go b/internal/module/interval.go index a9f277c..c718201 100644 --- a/internal/module/interval.go +++ b/internal/module/interval.go @@ -36,7 +36,7 @@ func init() { return nil, errors.New("gen.interval duration must be number") } - return &Interval{Duration: uint32(durationNum), config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &Interval{Duration: uint32(durationNum), config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/midi-input.go b/internal/module/midi-input.go index 247c77b..cadc79e 100644 --- a/internal/module/midi-input.go +++ b/internal/module/midi-input.go @@ -40,7 +40,7 @@ func init() { return nil, errors.New("midi.input port must be a string") } - return &MIDIInput{config: config, Port: portString, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &MIDIInput{config: config, Port: portString, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/midi-ouptut.go b/internal/module/midi-ouptut.go index 9cc60cc..cee899b 100644 --- a/internal/module/midi-ouptut.go +++ b/internal/module/midi-ouptut.go @@ -41,7 +41,7 @@ func init() { return nil, errors.New("midi.output port must be a string") } - return &MIDIOutput{config: config, Port: portString, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &MIDIOutput{config: config, Port: portString, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/module.go b/internal/module/module.go index aed40f1..5da1d00 100644 --- a/internal/module/module.go +++ b/internal/module/module.go @@ -3,6 +3,7 @@ package module import ( "context" "fmt" + "log/slog" "sync" "github.com/jwetzell/showbridge-go/internal/config" @@ -49,3 +50,7 @@ var ( moduleRegistryMu sync.RWMutex ModuleRegistry = make(map[string]ModuleRegistration) ) + +func CreateLogger(config config.ModuleConfig) *slog.Logger { + return slog.Default().With("component", "module", "id", config.Id, "type", config.Type) +} diff --git a/internal/module/mqtt-client.go b/internal/module/mqtt-client.go index 8f8d999..30ea53f 100644 --- a/internal/module/mqtt-client.go +++ b/internal/module/mqtt-client.go @@ -63,7 +63,7 @@ func init() { return nil, errors.New("mqtt.client clientId must be string") } - return &MQTTClient{config: config, Broker: brokerString, Topic: topicString, ClientID: clientIdString, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &MQTTClient{config: config, Broker: brokerString, Topic: topicString, ClientID: clientIdString, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/nats-client.go b/internal/module/nats-client.go index 5f2a0ff..7d51e10 100644 --- a/internal/module/nats-client.go +++ b/internal/module/nats-client.go @@ -50,7 +50,7 @@ func init() { return nil, errors.New("nats.client subject must be string") } - return &NATSClient{config: config, URL: urlString, Subject: subjectString, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &NATSClient{config: config, URL: urlString, Subject: subjectString, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/psn-client.go b/internal/module/psn-client.go index 60f6f62..474bee8 100644 --- a/internal/module/psn-client.go +++ b/internal/module/psn-client.go @@ -26,7 +26,7 @@ func init() { Type: "psn.client", New: func(ctx context.Context, config config.ModuleConfig, router route.RouteIO) (Module, error) { - return &PSNClient{config: config, decoder: psn.NewDecoder(), ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &PSNClient{config: config, decoder: psn.NewDecoder(), ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } @@ -77,7 +77,7 @@ func (pc *PSNClient) Run() error { message := buffer[:numBytes] err := pc.decoder.Decode(message) if err != nil { - pc.logger.Error("psn.client problem decoding psn traffic", "error", err) + pc.logger.Error("problem decoding psn traffic", "error", err) } if pc.router != nil { @@ -85,7 +85,7 @@ func (pc *PSNClient) Run() error { pc.router.HandleInput(pc.Id(), tracker) } } else { - pc.logger.Error("psn.client has no router") + pc.logger.Error("has no router") } } } diff --git a/internal/module/serial-client.go b/internal/module/serial-client.go index 2922f96..bb8b377 100644 --- a/internal/module/serial-client.go +++ b/internal/module/serial-client.go @@ -76,7 +76,7 @@ func init() { BaudRate: int(baudRateNum), } - return &SerialClient{config: config, Port: portString, Framer: framer, Mode: &mode, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &SerialClient{config: config, Port: portString, Framer: framer, Mode: &mode, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/sip-call-server.go b/internal/module/sip-call-server.go index f25e7a5..12543aa 100644 --- a/internal/module/sip-call-server.go +++ b/internal/module/sip-call-server.go @@ -87,7 +87,7 @@ func init() { } userAgentString = specificTransportString } - return &SIPCallServer{config: config, ctx: ctx, router: router, IP: ipString, Port: int(portNum), Transport: transportString, UserAgent: userAgentString, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &SIPCallServer{config: config, ctx: ctx, router: router, IP: ipString, Port: int(portNum), Transport: transportString, UserAgent: userAgentString, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/sip-dtmf-server.go b/internal/module/sip-dtmf-server.go index b787073..fb601e1 100644 --- a/internal/module/sip-dtmf-server.go +++ b/internal/module/sip-dtmf-server.go @@ -91,7 +91,7 @@ func init() { if !strings.ContainsRune("0123456789*#ABCD", rune(separatorString[0])) { return nil, errors.New("sip.dtmf.server separator must be a valid DTMF character") } - return &SIPDTMFServer{config: config, ctx: ctx, router: router, IP: ipString, Port: int(portNum), Transport: transportString, Separator: separatorString, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &SIPDTMFServer{config: config, ctx: ctx, router: router, IP: ipString, Port: int(portNum), Transport: transportString, Separator: separatorString, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/tcp-client.go b/internal/module/tcp-client.go index 5fd315d..6312bda 100644 --- a/internal/module/tcp-client.go +++ b/internal/module/tcp-client.go @@ -75,7 +75,7 @@ func init() { return nil, fmt.Errorf("net.tcp.client unknown framing method: %s", framingMethod) } - return &TCPClient{framer: framer, Addr: addr, config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &TCPClient{framer: framer, Addr: addr, config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/tcp-server.go b/internal/module/tcp-server.go index b9ce202..87dc2a9 100644 --- a/internal/module/tcp-server.go +++ b/internal/module/tcp-server.go @@ -82,7 +82,7 @@ func init() { return nil, err } - return &TCPServer{Framer: framer, Addr: addr, config: config, quit: make(chan interface{}), ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &TCPServer{Framer: framer, Addr: addr, config: config, quit: make(chan interface{}), ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/timer.go b/internal/module/timer.go index bd26dee..a3ac937 100644 --- a/internal/module/timer.go +++ b/internal/module/timer.go @@ -36,7 +36,7 @@ func init() { return nil, errors.New("gen.timer duration must be a number") } - return &Timer{Duration: uint32(durationNum), config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &Timer{Duration: uint32(durationNum), config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/udp-client.go b/internal/module/udp-client.go index 2612ad1..b235112 100644 --- a/internal/module/udp-client.go +++ b/internal/module/udp-client.go @@ -54,7 +54,7 @@ func init() { return nil, err } - return &UDPClient{Addr: addr, config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &UDPClient{Addr: addr, config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/udp-multicast.go b/internal/module/udp-multicast.go index 046efc2..89c8b17 100644 --- a/internal/module/udp-multicast.go +++ b/internal/module/udp-multicast.go @@ -53,7 +53,7 @@ func init() { if err != nil { return nil, err } - return &UDPMulticast{config: config, Addr: addr, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &UDPMulticast{config: config, Addr: addr, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) } diff --git a/internal/module/udp-server.go b/internal/module/udp-server.go index e6b6309..43f0265 100644 --- a/internal/module/udp-server.go +++ b/internal/module/udp-server.go @@ -68,7 +68,7 @@ func init() { bufferSizeNum = int(bufferSizeFloat) } - return &UDPServer{Addr: addr, BufferSize: bufferSizeNum, config: config, ctx: ctx, router: router, logger: slog.Default().With("component", "module", "id", config.Id)}, nil + return &UDPServer{Addr: addr, BufferSize: bufferSizeNum, config: config, ctx: ctx, router: router, logger: CreateLogger(config)}, nil }, }) }