From 272cb2392411b6e62e81e0f273cf275b21ca4d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20R=C3=B3=C5=BCa=C5=84ski?= Date: Wed, 20 Mar 2024 12:06:43 +0100 Subject: [PATCH] Fix passing invalid log level to postrs logger --- internal/postrs/log.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/postrs/log.go b/internal/postrs/log.go index f300490a2..cdaddc61e 100644 --- a/internal/postrs/log.go +++ b/internal/postrs/log.go @@ -42,13 +42,19 @@ var ( ) func setLogCallback(logger *zap.Logger) { - oncer.Do(func() { - C.set_logging_callback(levelMap[logger.Level()], C.callback(C.logCallback)) - }) + level, ok := levelMap[logger.Level()] + if !ok { + logger.Error("failed to map zap log level to C log level", zap.Stringer("level", logger.Level())) + return + } logMux.Lock() - defer logMux.Unlock() log = logger + logMux.Unlock() + + oncer.Do(func() { + C.set_logging_callback(level, C.callback(C.logCallback)) + }) } //export logCallback