MiniappGoService/pkg/logger/logger.go

37 lines
837 B
Go

package logger
import (
"errors"
"log/slog"
"os"
"gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/constants"
)
func Init(mode string) (*slog.Logger, error) {
var handler slog.Handler
var level slog.Level
switch mode {
case string(constants.LocalApplicationMode):
level = slog.LevelDebug
handler = slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
Level: level,
})
case string(constants.DevApplicationMode):
level = slog.LevelDebug
handler = slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: level,
})
case string(constants.ProdApplicationMode):
level = slog.LevelInfo
handler = slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: level,
})
default:
return nil, errors.New("unknown logger mode: " + mode)
}
return slog.New(handler), nil
}