Skip to content

Commit 543ad31

Browse files
committed
refactor: migrates to log/slog
1 parent bfc2065 commit 543ad31

4 files changed

Lines changed: 17 additions & 22 deletions

File tree

pkg/executor/cmd-executor.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ package executor
22

33
import (
44
"context"
5+
"log/slog"
56
"os"
67
"os/exec"
78
"strings"
89
"sync"
910
"syscall"
10-
11-
"github.com/nxtcoder17/go.pkgs/log"
1211
)
1312

1413
type CommandGroup struct {
@@ -20,7 +19,7 @@ type CommandGroup struct {
2019
}
2120

2221
type CmdExecutor struct {
23-
logger log.Logger
22+
logger *slog.Logger
2423
parentCtx context.Context
2524
commands []CommandGroup
2625
parallel bool
@@ -33,15 +32,15 @@ type CmdExecutor struct {
3332
}
3433

3534
type CmdExecutorArgs struct {
36-
Logger log.Logger
35+
Logger *slog.Logger
3736
Commands []CommandGroup
3837
Parallel bool
3938
Interactive bool
4039
}
4140

4241
func NewCmdExecutor(ctx context.Context, args CmdExecutorArgs) *CmdExecutor {
4342
if args.Logger == nil {
44-
args.Logger = log.New(log.Options{})
43+
args.Logger = slog.Default()
4544
}
4645

4746
return &CmdExecutor{
@@ -61,13 +60,13 @@ func (ex *CmdExecutor) OnWatchEvent(ev Event) error {
6160
return nil
6261
}
6362

64-
func killPID(pid int, logger log.Logger) error {
63+
func killPID(pid int, logger *slog.Logger) error {
6564
logger.Debug("about to kill", "process", pid)
6665
if err := syscall.Kill(-pid, syscall.SIGKILL); err != nil {
6766
if err == syscall.ESRCH {
6867
return nil
6968
}
70-
logger.Error(err, "failed to kill")
69+
logger.Error("failed to kill", "err", err)
7170
return err
7271
}
7372
return nil
@@ -136,7 +135,7 @@ func (ex *CmdExecutor) exec(newCmd func(context.Context) *exec.Cmd, args execArg
136135
return nil
137136
}
138137

139-
logger.Error(err, "command failed")
138+
logger.Error("command failed", "err", err)
140139
if exitErr, ok := err.(*exec.ExitError); ok {
141140
logger.Debug("process finished", "exit.code", exitErr.ExitCode())
142141
if exitErr.ExitCode() != 0 {
@@ -157,7 +156,7 @@ func (ex *CmdExecutor) exec(newCmd func(context.Context) *exec.Cmd, args execArg
157156
err = proc.Signal(syscall.SIGTERM)
158157
if err != nil {
159158
if err != syscall.ESRCH {
160-
logger.Error(err, "failed to kill")
159+
logger.Error("failed to kill", "err", err)
161160
return err
162161
}
163162
return err

pkg/watcher/lib.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (f *Watcher) WatchAndExecute(ctx context.Context, executors []executor.Exec
5050
go func() {
5151
defer wg.Done()
5252
if err := ex.Start(); err != nil {
53-
f.Logger.Error(err, "starting command")
53+
f.Logger.Error("starting command", "err", err)
5454
}
5555
f.Logger.Debug("final executor start finished")
5656
}()

pkg/watcher/lib_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,18 @@ import (
44
"bytes"
55
"context"
66
"io"
7-
"os"
7+
"log/slog"
88
"os/exec"
99
"strings"
1010
"testing"
1111
"time"
1212

1313
"github.com/fsnotify/fsnotify"
1414
"github.com/nxtcoder17/fwatcher/pkg/executor"
15-
"github.com/nxtcoder17/go.pkgs/log"
1615
)
1716

1817
func Test_Watcher_WatchAndExecute(t *testing.T) {
19-
logger := log.New(log.Options{
20-
ShowDebugLogs: os.Getenv("DEBUG") == "true",
21-
})
22-
18+
logger := slog.Default()
2319
newCmd := func(stdout io.Writer, cmd string, args ...string) func(c context.Context) *exec.Cmd {
2420
return func(c context.Context) *exec.Cmd {
2521
cmd := exec.CommandContext(c, cmd, args...)

pkg/watcher/watcher.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ package watcher
33
import (
44
"context"
55
"fmt"
6+
"log/slog"
67
"os"
78
"path/filepath"
89
"strings"
910
"time"
1011

1112
"github.com/fsnotify/fsnotify"
12-
"github.com/nxtcoder17/go.pkgs/log"
1313
)
1414

1515
type Watcher struct {
1616
watcher *fsnotify.Watcher
1717

1818
directoryCount int
1919

20-
Logger log.Logger
20+
Logger *slog.Logger
2121
OnlySuffixes []string
2222
IgnoreSuffixes []string
2323

@@ -216,7 +216,7 @@ func (f *Watcher) RecursiveAdd(dirs ...string) error {
216216

217217
func (f *Watcher) addToWatchList(dir string) error {
218218
if err := f.watcher.Add(dir); err != nil {
219-
f.Logger.Error(err, "failed to add directory", "dir", dir)
219+
f.Logger.Error("failed to add directory", "dir", dir, "err", err)
220220
return err
221221
}
222222
f.directoryCount++
@@ -231,7 +231,7 @@ func (f *Watcher) Close() error {
231231
}
232232

233233
type WatcherArgs struct {
234-
Logger log.Logger
234+
Logger *slog.Logger
235235

236236
WatchDirs []string
237237
WatchExtensions []string
@@ -262,7 +262,7 @@ var DefaultIgnoreExtensions = []string{
262262

263263
func NewWatcher(ctx context.Context, args WatcherArgs) (*Watcher, error) {
264264
if args.Logger == nil {
265-
args.Logger = log.New(log.Options{})
265+
args.Logger = slog.Default()
266266
}
267267

268268
args.IgnoreDirs = append(args.IgnoreDirs, args.IgnoreList...)
@@ -302,7 +302,7 @@ func NewWatcher(ctx context.Context, args WatcherArgs) (*Watcher, error) {
302302

303303
watcher, err := fsnotify.NewWatcher()
304304
if err != nil {
305-
args.Logger.Error(err, "failed to create watcher")
305+
args.Logger.Error("failed to create watcher", "err", err)
306306
return nil, err
307307
}
308308

0 commit comments

Comments
 (0)