s3: add debug logs for commands

* initialize zerolog for commands
* Change default log format: remote colors and timestamp
This commit is contained in:
André Roth
2025-04-21 23:19:32 +02:00
parent e447fc0f1e
commit c07bf2b108
11 changed files with 188 additions and 25 deletions
+11 -5
View File
@@ -4,12 +4,19 @@ import (
"io"
"os"
"strings"
"syscall"
"time"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"golang.org/x/term"
)
// RunningOnTerminal checks whether stdout is terminal
func RunningOnTerminal() bool {
return term.IsTerminal(syscall.Stdout)
}
type LogWriter struct {
Logger zerolog.Logger
}
@@ -32,11 +39,10 @@ func SetupDefaultLogger(levelStr string) {
zerolog.MessageFieldName = "message"
zerolog.LevelFieldName = "level"
log.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339}).
Level(GetLogLevelOrDebug(levelStr)).
With().
Timestamp().
Logger()
log.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr,
FormatTimestamp: func(_ interface{}) string { return "" },
NoColor: !RunningOnTerminal(),
}).Level(GetLogLevelOrDebug(levelStr))
}
func GetLogLevelOrDebug(levelStr string) zerolog.Level {