35 lines
617 B
Go
35 lines
617 B
Go
package logger
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
|
|
prettyLogger "github.com/charmbracelet/log"
|
|
)
|
|
|
|
const (
|
|
envDev = "dev"
|
|
envProd = "prod"
|
|
)
|
|
|
|
func SetupLogger(env string) *slog.Logger {
|
|
var log *slog.Logger
|
|
|
|
switch env {
|
|
case envDev:
|
|
handler := prettyLogger.NewWithOptions(os.Stdout, prettyLogger.Options{
|
|
Level: prettyLogger.DebugLevel,
|
|
ReportTimestamp: true,
|
|
})
|
|
log = slog.New(handler)
|
|
case envProd:
|
|
handler := prettyLogger.NewWithOptions(os.Stdout, prettyLogger.Options{
|
|
Level: prettyLogger.InfoLevel,
|
|
ReportTimestamp: true,
|
|
})
|
|
log = slog.New(handler)
|
|
}
|
|
|
|
return log
|
|
}
|