infra: add logging wrapping

Resolves issues with gcp cloud logging quirks such as field names
This commit is contained in:
Arjun Patel
2026-05-27 15:49:27 -07:00
parent e804cee229
commit 563c91e7d5
30 changed files with 347 additions and 250 deletions
+7 -6
View File
@@ -4,10 +4,11 @@ import (
"context"
"encoding/json"
"fmt"
"log/slog"
"strings"
"time"
"github.com/flowy-live/llink/internal/utils/flog"
"github.com/redis/go-redis/v9"
)
@@ -200,7 +201,7 @@ func (rb *RedisBridge) handlePubSubMessage(msg *redis.Message) {
var event redisEvent
if err := json.Unmarshal([]byte(msg.Payload), &event); err != nil {
slog.Error("failed to parse pub/sub event", "error", err)
flog.Error("failed to parse pub/sub event", "error", err)
return
}
@@ -257,7 +258,7 @@ func (rb *RedisBridge) cleanupStalePods(ctx context.Context) {
for {
keys, nextCursor, err := rb.client.Scan(ctx, cursor, channelConnsPrefix+"*"+channelConnsSuffix, 100).Result()
if err != nil {
slog.Error("failed to scan channel keys", "error", err)
flog.Error("failed to scan channel keys", "error", err)
return
}
@@ -292,7 +293,7 @@ func (rb *RedisBridge) cleanupStalePods(ctx context.Context) {
for podID := range knownPods {
if !alivePods[podID] {
slog.Info("cleaning up stale pod", "podId", podID)
flog.Info("cleaning up stale pod", "podId", podID)
rb.cleanupPod(ctx, podID)
}
}
@@ -344,11 +345,11 @@ func (rb *RedisBridge) connField(connID string) string {
func (rb *RedisBridge) publishEvent(ctx context.Context, channelID string, event redisEvent) {
data, err := json.Marshal(event)
if err != nil {
slog.Error("failed to marshal event", "error", err)
flog.Error("failed to marshal event", "error", err)
return
}
if err := rb.client.Publish(ctx, pubsubPrefix+channelID, data).Err(); err != nil {
slog.Error("failed to publish event", "channelId", channelID, "error", err)
flog.Error("failed to publish event", "channelId", channelID, "error", err)
}
}