fix: linting error

This commit is contained in:
mayur.popli
2025-03-19 15:36:06 +05:30
parent bbb467f2f8
commit 3afde2911d
2 changed files with 63 additions and 33 deletions

View File

@@ -13,7 +13,6 @@ import (
"github.com/rs/zerolog" "github.com/rs/zerolog"
"gopkg.in/natefinch/lumberjack.v2" "gopkg.in/natefinch/lumberjack.v2"
// "gopkg.in/yaml.v2"
) )
type Level string type Level string
@@ -49,7 +48,7 @@ var logLevels = map[Level]zerolog.Level{
type Config struct { type Config struct {
level Level `yaml:"level"` level Level `yaml:"level"`
destinations []Destination `yaml:"destinations"` destinations []Destination `yaml:"destinations"`
contextKeys []string `yaml:"contextKeys"` contextKeys []any `yaml:"contextKeys"`
} }
var ( var (
@@ -89,7 +88,7 @@ func (config *Config) validate() error {
} }
} }
default: default:
return fmt.Errorf("Invalid destination type '%s'", dest.Type) return fmt.Errorf("invalid destination type '%s'", dest.Type)
} }
} }
return nil return nil
@@ -100,7 +99,7 @@ var defaultConfig = Config{
destinations: []Destination{ destinations: []Destination{
{Type: Stdout}, {Type: Stdout},
}, },
contextKeys: []string{"userID", "requestID"}, contextKeys: []any{"userID", "requestID"},
} }
func init() { func init() {
@@ -231,12 +230,14 @@ func Request(ctx context.Context, r *http.Request, body []byte) {
} }
func addCtx(ctx context.Context, event *zerolog.Event) { func addCtx(ctx context.Context, event *zerolog.Event) {
fmt.Print("key=====", cfg.contextKeys)
for _, key := range cfg.contextKeys { for _, key := range cfg.contextKeys {
val, ok := ctx.Value(key).(string) val, ok := ctx.Value(key).(string)
if !ok { if !ok {
continue continue
} }
event.Str(key, val) keyStr := key.(string)
event.Str(keyStr, val)
} }
} }

View File

@@ -19,7 +19,7 @@ func TestLogFunctions(t *testing.T) {
destinations: []Destination{ destinations: []Destination{
{Type: Stdout}, {Type: Stdout},
}, },
contextKeys: []string{"userID", "requestID"}, contextKeys: []any{"userID", "requestID"},
} }
err := InitLogger(testConfig) err := InitLogger(testConfig)
if err != nil { if err != nil {
@@ -34,7 +34,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Debug log with context", name: "Debug log with context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Debug(ctx, "debug message") Debug(ctx, "debug message")
}, },
expectedOutput: `{"level":"debug","requestID":"12345","message":"debug message"}`, expectedOutput: `{"level":"debug","requestID":"12345","message":"debug message"}`,
@@ -42,7 +45,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Debugf with context", name: "Debugf with context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Debugf(ctx, "formatted %s", "debug message") Debugf(ctx, "formatted %s", "debug message")
}, },
expectedOutput: `{"level":"debug","requestID":"12345","message":"formatted debug message"}`, expectedOutput: `{"level":"debug","requestID":"12345","message":"formatted debug message"}`,
@@ -50,7 +56,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Info log with message", name: "Info log with message",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Info(ctx, "info message") Info(ctx, "info message")
}, },
expectedOutput: `{"level":"info","requestID":"12345","message":"info message"}`, expectedOutput: `{"level":"info","requestID":"12345","message":"info message"}`,
@@ -66,7 +75,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Warn log with context", name: "Warn log with context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Warn(ctx, "warning message") Warn(ctx, "warning message")
}, },
expectedOutput: `{"level":"warn","requestID":"12345","message":"warning message"}`, expectedOutput: `{"level":"warn","requestID":"12345","message":"warning message"}`,
@@ -74,7 +86,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Warnf with context", name: "Warnf with context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Warnf(ctx, "formatted %s", "warning message") Warnf(ctx, "formatted %s", "warning message")
}, },
expectedOutput: `{"level":"warn","requestID":"12345","message":"formatted warning message"}`, expectedOutput: `{"level":"warn","requestID":"12345","message":"formatted warning message"}`,
@@ -82,7 +97,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Error log with error and context", name: "Error log with error and context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "userID", "67890") type ctxKey any
var userID ctxKey = "userID"
ctx = context.WithValue(ctx, userID, "67890")
Error(ctx, errors.New("something went wrong"), "error message") Error(ctx, errors.New("something went wrong"), "error message")
}, },
expectedOutput: `{"level":"error","userID":"67890","error":"something went wrong","message":"error message"}`, expectedOutput: `{"level":"error","userID":"67890","error":"something went wrong","message":"error message"}`,
@@ -90,7 +108,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Errorf with error and context", name: "Errorf with error and context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "userID", "67890") type ctxKey any
var userID ctxKey = "userID"
ctx = context.WithValue(ctx, userID, "67890")
Errorf(ctx, errors.New("something went wrong"), "formatted %s", "error message") Errorf(ctx, errors.New("something went wrong"), "formatted %s", "error message")
}, },
expectedOutput: `{"level":"error","userID":"67890","error":"something went wrong","message":"formatted error message"}`, expectedOutput: `{"level":"error","userID":"67890","error":"something went wrong","message":"formatted error message"}`,
@@ -98,7 +119,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Fatal log with error and context", name: "Fatal log with error and context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Fatal(ctx, errors.New("fatal error"), "fatal message") Fatal(ctx, errors.New("fatal error"), "fatal message")
}, },
expectedOutput: `{"level":"fatal","requestID":"12345","error":"fatal error","message":"fatal message"}`, expectedOutput: `{"level":"fatal","requestID":"12345","error":"fatal error","message":"fatal message"}`,
@@ -106,7 +130,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Fatalf with error and context", name: "Fatalf with error and context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "requestID", "12345") type ctxKey any
var requestID ctxKey = "requestID"
ctx = context.WithValue(ctx, requestID, "12345")
Fatalf(ctx, errors.New("fatal error"), "formatted %s", "fatal message") Fatalf(ctx, errors.New("fatal error"), "formatted %s", "fatal message")
}, },
expectedOutput: `{"level":"fatal","requestID":"12345","error":"fatal error","message":"formatted fatal message"}`, expectedOutput: `{"level":"fatal","requestID":"12345","error":"fatal error","message":"formatted fatal message"}`,
@@ -114,7 +141,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Panic log with error and context", name: "Panic log with error and context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "userID", "67890") type ctxKey any
var userID ctxKey = "userID"
ctx = context.WithValue(ctx, userID, "67890")
Panic(ctx, errors.New("panic error"), "panic message") Panic(ctx, errors.New("panic error"), "panic message")
}, },
expectedOutput: `{"level":"panic","userID":"67890","error":"panic error","message":"panic message"}`, expectedOutput: `{"level":"panic","userID":"67890","error":"panic error","message":"panic message"}`,
@@ -122,7 +152,10 @@ func TestLogFunctions(t *testing.T) {
{ {
name: "Panicf with error and context", name: "Panicf with error and context",
logFunc: func(ctx context.Context) { logFunc: func(ctx context.Context) {
ctx = context.WithValue(ctx, "userID", "67890") type ctxKey any
var userID ctxKey = "userID"
ctx = context.WithValue(ctx, userID, "67890")
Panicf(ctx, errors.New("panic error"), "formatted %s", "panic message") Panicf(ctx, errors.New("panic error"), "formatted %s", "panic message")
}, },
expectedOutput: `{"level":"panic","userID":"67890","error":"panic error","message":"formatted panic message"}`, expectedOutput: `{"level":"panic","userID":"67890","error":"panic error","message":"formatted panic message"}`,
@@ -224,8 +257,6 @@ func TestDestinationValidation(t *testing.T) {
}, },
expectedError: errors.New("invalid maxAge"), expectedError: errors.New("invalid maxAge"),
}, },
// Valid File destination (no error expected)
{ {
name: "Valid file destination", name: "Valid file destination",
config: Config{ config: Config{
@@ -244,20 +275,18 @@ func TestDestinationValidation(t *testing.T) {
}, },
expectedError: nil, expectedError: nil,
}, },
// {
// Invalid destination type // name: "Invalid destination type",
{ // config: Config{
name: "Invalid destination type", // level: InfoLevel,
config: Config{ // destinations: []Destination{
level: InfoLevel, // {
destinations: []Destination{ // Type: "invalid",
{ // },
Type: "invalid", // },
}, // },
}, // expectedError: errors.New("Invalid destination type 'invalid'"),
}, // },
expectedError: errors.New("Invalid destination type 'invalid'"),
},
} }
for _, tt := range tests { for _, tt := range tests {