Skip to content

Commit 1751651

Browse files
authored
Merge pull request #19 from deploymenttheory/dev
Refactor logger package and update logger configuration
2 parents d8ec344 + 5f2674f commit 1751651

File tree

2 files changed

+4
-118
lines changed

2 files changed

+4
-118
lines changed

logger/format.go

Lines changed: 0 additions & 87 deletions
This file was deleted.

logger/loggerconfig.go

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ package logger
44
// Ref: https://betterstack.com/community/guides/logging/go/zap/#logging-errors-with-zap
55

66
import (
7-
"os"
8-
97
"go.uber.org/zap"
108
"go.uber.org/zap/zapcore"
119
)
@@ -23,7 +21,10 @@ func BuildLogger(logLevel LogLevel, logOutputFormat string) Logger {
2321
// Set up custom encoder configuration
2422
encoderCfg := zap.NewProductionEncoderConfig()
2523
encoderCfg.TimeKey = "timestamp"
26-
encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder // Use ISO8601 format for timestamps
24+
encoderCfg.EncodeTime = zapcore.RFC3339TimeEncoder // ISO8601TimeEncoder /Use ISO8601 format for timestamps
25+
encoderCfg.EncodeLevel = zapcore.CapitalColorLevelEncoder // Encodes the level in uppercase (e.g., "INFO", "ERROR") with ANSI colour.
26+
encoderCfg.EncodeCaller = zapcore.ShortCallerEncoder // Encodes the file and line number of the caller if the log level is at least DebugLevel
27+
encoderCfg.EncodeName = zapcore.FullNameEncoder // Encodes the logger name
2728

2829
// Convert the custom LogLevel to zap's logging level
2930
zapLogLevel := convertToZapLevel(logLevel)
@@ -62,34 +63,6 @@ func BuildLogger(logLevel LogLevel, logOutputFormat string) Logger {
6263
}
6364
}
6465

65-
func NewHumanReadableLogger(logLevel LogLevel, logOutputFormat string) Logger {
66-
encoderCfg := zap.NewProductionEncoderConfig()
67-
encoderCfg.TimeKey = "timestamp"
68-
encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder
69-
70-
var encoder zapcore.Encoder
71-
if logOutputFormat == LogOutputHumanReadable {
72-
// For human-readable format, use a console encoder with customized level encoder
73-
encoderCfg.EncodeLevel = zapcore.CapitalColorLevelEncoder
74-
encoder = zapcore.NewConsoleEncoder(encoderCfg)
75-
} else {
76-
// Default to JSON encoder for structured logging
77-
encoder = zapcore.NewJSONEncoder(encoderCfg)
78-
}
79-
80-
core := zapcore.NewCore(encoder, zapcore.AddSync(os.Stdout), convertToZapLevel(logLevel))
81-
82-
// Wrap the core with customCore to maintain field reordering logic
83-
wrappedCore := &customCore{Core: core}
84-
85-
logger := zap.New(wrappedCore, zap.AddCaller())
86-
87-
return &defaultLogger{
88-
logger: logger,
89-
logLevel: logLevel,
90-
}
91-
}
92-
9366
// convertToZapLevel converts the custom LogLevel to a zapcore.Level
9467
func convertToZapLevel(level LogLevel) zapcore.Level {
9568
switch level {

0 commit comments

Comments
 (0)