From 08247e5b82993db0ac548e2c5afb33ea1bd69272 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Garcia?= Date: Tue, 11 Jul 2023 23:39:39 -0300 Subject: [PATCH] Simplify logger feature --- ksql_test.go | 2 +- logger.go | 51 ++++++++++----------------------------------------- 2 files changed, 11 insertions(+), 42 deletions(-) diff --git a/ksql_test.go b/ksql_test.go index 8ad6cbc..61405a8 100644 --- a/ksql_test.go +++ b/ksql_test.go @@ -312,7 +312,7 @@ func TestInjectLogger(t *testing.T) { var loggedQuery string var loggedParams []interface{} var loggedErr error - ctx := InjectLogger(ctx, "info", func(ctx context.Context, values LogValues) { + ctx := InjectLogger(ctx, func(ctx context.Context, values LogValues) { loggedQuery = values.Query loggedParams = values.Params loggedErr = values.Err diff --git a/logger.go b/logger.go index 245c05c..805ddc9 100644 --- a/logger.go +++ b/logger.go @@ -2,7 +2,6 @@ package ksql import ( "context" - "strings" ) type loggerKey struct{} @@ -13,27 +12,19 @@ type LogValues struct { Err error } +type loggerFn func(ctx context.Context, query string, params []interface{}, err error) + func InjectLogger( ctx context.Context, - level string, logFn func(ctx context.Context, values LogValues), ) context.Context { - level = strings.ToLower(level) - if level != "info" { - // Default to the least verbose level: - level = "error" - } - - return context.WithValue(ctx, loggerKey{}, logger{ - level: level, - logFn: func(ctx context.Context, query string, params []interface{}, err error) { - logFn(ctx, LogValues{ - Query: query, - Params: params, - Err: err, - }) - }, - }) + return context.WithValue(ctx, loggerKey{}, loggerFn(func(ctx context.Context, query string, params []interface{}, err error) { + logFn(ctx, LogValues{ + Query: query, + Params: params, + Err: err, + }) + })) } func ctxLog(ctx context.Context, query string, params []interface{}, err *error) { @@ -42,27 +33,5 @@ func ctxLog(ctx context.Context, query string, params []interface{}, err *error) return } - if *err != nil { - l.(logger)._error(ctx, query, params, *err) - return - } - - l.(logger)._info(ctx, query, params, nil) -} - -type logger struct { - level string - logFn func(ctx context.Context, query string, params []interface{}, err error) -} - -func (l logger) _info(ctx context.Context, query string, params []interface{}, err error) { - if l.level == "error" { - return - } - - l.logFn(ctx, query, params, err) -} - -func (l logger) _error(ctx context.Context, query string, params []interface{}, err error) { - l.logFn(ctx, query, params, err) + l.(loggerFn)(ctx, query, params, *err) }