@@ -13,15 +13,31 @@ import (
13
13
"github.com/diggerhq/digger/libs/policy"
14
14
lib_spec "github.com/diggerhq/digger/libs/spec"
15
15
"github.com/spf13/cobra"
16
- "log"
16
+ "log/slog "
17
17
"os"
18
18
"runtime/debug"
19
19
)
20
20
21
+ func initLogger () {
22
+ logLevel := os .Getenv ("DIGGER_LOG_LEVEL" )
23
+ var level slog.Leveler
24
+ if logLevel == "DEBUG" {
25
+ level = slog .LevelDebug
26
+ } else {
27
+ level = slog .LevelInfo
28
+ }
29
+ logger := slog .New (slog .NewTextHandler (os .Stdout , & slog.HandlerOptions {
30
+ Level : level ,
31
+ }))
32
+
33
+ slog .SetDefault (logger )
34
+
35
+ }
36
+
21
37
var defaultCmd = & cobra.Command {
22
38
Use : "default" ,
23
39
Run : func (cmd * cobra.Command , args []string ) {
24
-
40
+ initLogger ()
25
41
specStr := os .Getenv ("DIGGER_RUN_SPEC" )
26
42
if specStr != "" {
27
43
var spec lib_spec.Spec
@@ -31,7 +47,7 @@ var defaultCmd = &cobra.Command{
31
47
}
32
48
33
49
var spec_err error
34
-
50
+
35
51
spec_err = spec2 .RunSpec (
36
52
spec ,
37
53
lib_spec.VCSProviderBasic {},
@@ -65,10 +81,10 @@ var defaultCmd = &cobra.Command{
65
81
66
82
defer func () {
67
83
if r := recover (); r != nil {
68
- log . Println (fmt .Sprintf ("stacktrace from panic: \n " + string (debug .Stack ())))
84
+ slog . Error (fmt .Sprintf ("stacktrace from panic: " + string (debug .Stack ())))
69
85
err := usage .SendLogRecord (logLeader , fmt .Sprintf ("Panic occurred. %s" , r ))
70
86
if err != nil {
71
- log . Printf ("Failed to send log record. %s \n " , err )
87
+ slog . Error ("Failed to send log record" , "error " , err )
72
88
}
73
89
os .Exit (1 )
74
90
}
0 commit comments