summaryrefslogtreecommitdiff
path: root/pkg/pls
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-05-23 14:54:24 -0600
committermo khan <mo@mokhan.ca>2025-05-23 14:54:24 -0600
commit3d6cdf0b3d6fa23509208e2355a7b7d26400a8ea (patch)
tree039bdf57b99061844aeb0fe55ad0bc1c864166af /pkg/pls
parent0ba49bfbde242920d8675a193d7af89420456fc0 (diff)
parent4beee46dc6c7642316e118a4d3aa51e4b407256e (diff)
Merge branch 'envoy-jwt-authn' into 'main'
Add External Authorization Service with Envoy Integration See merge request gitlab-org/software-supply-chain-security/authorization/sparkled!9
Diffstat (limited to 'pkg/pls')
-rw-r--r--pkg/pls/log.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/pkg/pls/log.go b/pkg/pls/log.go
index 41efcbf..14eb7db 100644
--- a/pkg/pls/log.go
+++ b/pkg/pls/log.go
@@ -3,7 +3,9 @@ package pls
import (
"context"
+ "github.com/rs/zerolog"
"github.com/xlgmokha/x/pkg/log"
+ "google.golang.org/grpc"
)
func LogError(ctx context.Context, err error) {
@@ -11,3 +13,38 @@ func LogError(ctx context.Context, err error) {
log.WithFields(ctx, log.Fields{"error": err})
}
}
+
+func LogErrorNow(ctx context.Context, err error) {
+ defer FlushLog(ctx)
+
+ LogError(ctx, err)
+}
+
+func LogGRPC(logger *zerolog.Logger) grpc.UnaryServerInterceptor {
+ return func(ctx context.Context, req any, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp any, err error) {
+ ctx = logger.WithContext(ctx)
+
+ defer FlushLog(ctx)
+ return handler(ctx, req)
+ }
+}
+
+func LogGRPCStream(logger *zerolog.Logger) grpc.StreamServerInterceptor {
+ return func(srv any, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
+ ctx := logger.WithContext(ss.Context())
+ log.WithFields(ctx, log.Fields{"info": info})
+
+ defer FlushLog(ctx)
+ return handler(srv, ss)
+ }
+}
+
+func FlushLog(ctx context.Context) {
+ zerolog.Ctx(ctx).Print()
+}
+
+func LogNow(ctx context.Context, fields log.Fields) {
+ defer FlushLog(ctx)
+
+ log.WithFields(ctx, fields)
+}