mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 17:52:24 +00:00
33 lines
1004 B
Go
33 lines
1004 B
Go
// Package logs provides a logger setup function that configures the logger based on the environment.
|
|
// It supports different logging levels for development and production environments.
|
|
// It uses the standard library's slog package for structured logging.
|
|
package logs
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
)
|
|
|
|
// Environment constants for logger setup
|
|
const (
|
|
// envDev enables development logging with debug level
|
|
envDev = "dev"
|
|
// envProd enables production logging with info level
|
|
envProd = "prod"
|
|
)
|
|
|
|
// SetupLogger initializes and returns a logger based on the provided environment.
|
|
func SetupLogger(env string) *slog.Logger {
|
|
var log *slog.Logger
|
|
switch env {
|
|
case envDev:
|
|
log = slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}))
|
|
case envProd:
|
|
log = slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo}))
|
|
default:
|
|
log = slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}))
|
|
}
|
|
|
|
return log
|
|
}
|