Skip to content

Commit 578992d

Browse files
committed
chore(logger): move logger to internal
This commit moves logger to internal package. Follow up to #1977 Signed-off-by: vprashar2929 <[email protected]>
1 parent 43c375f commit 578992d

File tree

3 files changed

+55
-7
lines changed

3 files changed

+55
-7
lines changed

cmd/kepler/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/alecthomas/kingpin/v2"
1414
"github.com/oklog/run"
1515
"github.com/sustainable-computing-io/kepler/internal/config"
16+
"github.com/sustainable-computing-io/kepler/internal/logger"
1617
"github.com/sustainable-computing-io/kepler/internal/version"
1718
)
1819

@@ -22,7 +23,7 @@ func main() {
2223
if err != nil {
2324
os.Exit(1)
2425
}
25-
logger := setupLogger(cfg.Log.Level, cfg.Log.Format)
26+
logger := logger.New(cfg.Log.Level, cfg.Log.Format)
2627
logVersionInfo(logger)
2728
printConfigInfo(logger, cfg)
2829

@@ -110,7 +111,7 @@ func parseArgsAndConfig() (*config.Config, error) {
110111
updateConfig := config.RegisterFlags(app)
111112
kingpin.MustParse(app.Parse(os.Args[1:]))
112113

113-
logger := setupLogger("info", "text")
114+
logger := logger.New("info", "text")
114115
cfg := config.DefaultConfig()
115116
if *configFile != "" {
116117
logger.Info("Loading configuration file", "path", *configFile)

cmd/kepler/logger.go renamed to internal/logger/logger.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-FileCopyrightText: 2025 The Kepler Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4-
package main
4+
package logger
55

66
import (
77
"fmt"
@@ -11,7 +11,7 @@ import (
1111
"strings"
1212
)
1313

14-
func setupLogger(level, format string) *slog.Logger {
14+
func New(level, format string) *slog.Logger {
1515
logLevel := parseLogLevel(level)
1616
return slog.New(handlerForFormat(format, logLevel))
1717
}

cmd/kepler/logger_test.go renamed to internal/logger/logger_test.go

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
// SPDX-FileCopyrightText: 2025 The Kepler Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4-
package main
4+
package logger
55

66
import (
77
"bytes"
88
"encoding/json"
9+
"log/slog"
910
"os"
1011
"strings"
1112
"testing"
@@ -65,7 +66,7 @@ func TestSetupLogger(t *testing.T) {
6566
t.Run(tt.name, func(t *testing.T) {
6667
if tt.expectPanic {
6768
assert.Panics(t, func() {
68-
_ = setupLogger(tt.format, tt.logLevel)
69+
_ = New(tt.logLevel, tt.format)
6970
}, "Expected setupLogger to panic with invalid format")
7071
//
7172
return
@@ -77,7 +78,7 @@ func TestSetupLogger(t *testing.T) {
7778
r, w, _ := os.Pipe()
7879
os.Stdout = w
7980

80-
logger := setupLogger(tt.logLevel, tt.format)
81+
logger := New(tt.logLevel, tt.format)
8182
logger.Info("test message", "key", "value")
8283

8384
// Restore stdout
@@ -120,3 +121,49 @@ func TestSetupLogger(t *testing.T) {
120121
})
121122
}
122123
}
124+
125+
func TestParseLogLevel(t *testing.T) {
126+
tests := []struct {
127+
name string
128+
level string
129+
expected slog.Level
130+
}{
131+
{
132+
name: "debug level",
133+
level: "debug",
134+
expected: slog.LevelDebug,
135+
},
136+
{
137+
name: "info level",
138+
level: "info",
139+
expected: slog.LevelInfo,
140+
},
141+
{
142+
name: "warn level",
143+
level: "warn",
144+
expected: slog.LevelWarn,
145+
},
146+
{
147+
name: "error level",
148+
level: "error",
149+
expected: slog.LevelError,
150+
},
151+
{
152+
name: "invalid level defaults to info",
153+
level: "invalid",
154+
expected: slog.LevelInfo,
155+
},
156+
{
157+
name: "empty level defaults to info",
158+
level: "",
159+
expected: slog.LevelInfo,
160+
},
161+
}
162+
163+
for _, tt := range tests {
164+
t.Run(tt.name, func(t *testing.T) {
165+
result := parseLogLevel(tt.level)
166+
assert.Equal(t, tt.expected, result, "parseLogLevel(%q) = %v, want %v", tt.level, result, tt.expected)
167+
})
168+
}
169+
}

0 commit comments

Comments
 (0)