refactor: remove log-format flag

This commit is contained in:
ayn2op 2025-07-05 18:03:43 -04:00
parent 67b2c9b1f3
commit d9a1e50f49
2 changed files with 10 additions and 42 deletions

View file

@ -40,16 +40,7 @@ var (
level = slog.LevelError
}
logFormat, _ := flags.GetString("log-format")
var format logger.Format
switch logFormat {
case "text":
format = logger.FormatText
case "json":
format = logger.FormatJson
}
if err := logger.Load(format, level); err != nil {
if err := logger.Load(level); err != nil {
return fmt.Errorf("failed to load logger: %w", err)
}
@ -81,7 +72,5 @@ func init() {
flags := rootCmd.Flags()
flags.StringP("token", "t", "", "authentication token")
flags.StringP("config", "c", config.DefaultPath(), "path of the configuration file")
flags.String("log-level", "info", "log level")
flags.String("log-format", "text", "log format")
}

View file

@ -8,15 +8,8 @@ import (
"github.com/ayn2op/discordo/internal/consts"
)
type Format int
const (
FormatText Format = iota
FormatJson
)
// Opens the log file and configures default logger.
func Load(format Format, level slog.Level) error {
// Load opens the log file and configures default logger.
func Load(level slog.Level) error {
path, err := os.UserCacheDir()
if err != nil {
return err
@ -27,28 +20,14 @@ func Load(format Format, level slog.Level) error {
return err
}
opts := &slog.HandlerOptions{AddSource: true, Level: level}
var h slog.Handler
switch format {
case FormatText:
path := filepath.Join(path, "logs.txt")
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, os.ModePerm)
if err != nil {
return err
}
h = slog.NewTextHandler(file, opts)
case FormatJson:
path := filepath.Join(path, "logs.jsonl")
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, os.ModePerm)
if err != nil {
return err
}
h = slog.NewJSONHandler(file, opts)
path = filepath.Join(path, "logs.txt")
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, os.ModePerm)
if err != nil {
return err
}
slog.SetDefault(slog.New(h))
opts := &slog.HandlerOptions{AddSource: true, Level: level}
handler := slog.NewTextHandler(file, opts)
slog.SetDefault(slog.New(handler))
return nil
}