From c20eeb03d63c857af8c3e9eaa8bfa9c14d2e15e3 Mon Sep 17 00:00:00 2001 From: Slach Date: Tue, 13 Jun 2023 19:40:06 +0400 Subject: [PATCH] fix thread-safe zerolog usage, details https://github.com/rs/zerolog/issues/242 and https://github.com/rs/zerolog/blob/master/README.md?plain=1#L431 --- pkg/clickhouse/clickhouse.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/clickhouse/clickhouse.go b/pkg/clickhouse/clickhouse.go index bcce072d..9809e1b6 100644 --- a/pkg/clickhouse/clickhouse.go +++ b/pkg/clickhouse/clickhouse.go @@ -909,10 +909,12 @@ func (ch *ClickHouse) SelectSingleRowNoCtx(dest interface{}, query string, args func (ch *ClickHouse) LogQuery(query string, args ...interface{}) string { var logF *zerolog.Event + // zerolog is not thread-safe https://github.com/rs/zerolog/issues/242 ;( + logger := ch.Logger.With().Logger() if !ch.Config.LogSQLQueries { - logF = ch.Logger.Debug() + logF = logger.Debug() } else { - logF = ch.Logger.Info() + logF = logger.Info() } if len(args) > 0 { logF.Msg(strings.NewReplacer("\n", " ", "\r", " ", "\t", " ").Replace(fmt.Sprintf("%s with args %v", query, args)))