34 lines
619 B
Go
34 lines
619 B
Go
package logger
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
)
|
|
|
|
const (
|
|
envLocal = "local"
|
|
envDevelopment = "development"
|
|
envProduction = "production"
|
|
)
|
|
|
|
func New(env string) *slog.Logger {
|
|
var logger *slog.Logger
|
|
|
|
switch env {
|
|
case envLocal:
|
|
logger = slog.New(
|
|
slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}),
|
|
)
|
|
case envDevelopment:
|
|
logger = slog.New(
|
|
slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}),
|
|
)
|
|
case envProduction:
|
|
logger = slog.New(
|
|
slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo}),
|
|
)
|
|
}
|
|
|
|
return logger
|
|
}
|