diff --git a/cmd/streampanel/context.go b/cmd/streampanel/context.go index a1ec934..abc76bc 100644 --- a/cmd/streampanel/context.go +++ b/cmd/streampanel/context.go @@ -51,6 +51,7 @@ func getContext( ll := xlogrus.DefaultLogrusLogger() ll.Formatter.(*logrus.TextFormatter).ForceColors = true + ll.ReportCaller = true logPreHooks := logger.PreHooks{ &observability.LogLevelFilter, diff --git a/pkg/streamcontrol/kick/kick.go b/pkg/streamcontrol/kick/kick.go index 68a1f27..e2786c4 100644 --- a/pkg/streamcontrol/kick/kick.go +++ b/pkg/streamcontrol/kick/kick.go @@ -134,7 +134,16 @@ func (k *Kick) keepAliveLoop( t := time.NewTicker(time.Minute) defer t.Stop() for { - _, err := k.GetClient().GetLivestreams(k.CloseCtx, gokick.NewLivestreamListFilter().SetBroadcasterUserIDs(int(k.Channel.UserID))) + if k.Channel == nil { // TODO: fix non-atomicity + logger.Warnf(ctx, "channel info is not set, yet") + continue + } + client := k.GetClient() + if client == nil { + logger.Errorf(ctx, "client is not initialized") + continue + } + _, err := client.GetLivestreams(k.CloseCtx, gokick.NewLivestreamListFilter().SetBroadcasterUserIDs(int(k.Channel.UserID))) if err != nil { logger.Errorf(ctx, "unable to get my stream status: %v", err) continue