Refactored project structure
This commit is contained in:
38
backend/setup_default_logger.go
Normal file
38
backend/setup_default_logger.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func setupDefaultLogger() {
|
||||
if strings.ToLower(os.Getenv("PROD")) == "true" {
|
||||
options := &slog.HandlerOptions{
|
||||
Level: slog.LevelInfo,
|
||||
}
|
||||
customLogger := slog.New(slog.NewTextHandler(os.Stdout, options))
|
||||
slog.SetDefault(customLogger)
|
||||
slog.Info("Production logger initialized", slog.Group("app", "version", Version, "build_time", BuildTime))
|
||||
return
|
||||
}
|
||||
|
||||
sourceFileName := func(groups []string, a slog.Attr) slog.Attr {
|
||||
// Remove the directory and function from the source's filename.
|
||||
if a.Key == slog.SourceKey {
|
||||
source := a.Value.Any().(*slog.Source)
|
||||
source.File = filepath.Base(source.File)
|
||||
source.Function = ""
|
||||
}
|
||||
return a
|
||||
}
|
||||
options := &slog.HandlerOptions{
|
||||
Level: slog.LevelDebug,
|
||||
AddSource: true,
|
||||
ReplaceAttr: sourceFileName,
|
||||
}
|
||||
customLogger := slog.New(slog.NewTextHandler(os.Stdout, options))
|
||||
slog.SetDefault(customLogger)
|
||||
slog.Info("Development logger initialized", slog.Group("app", "version", Version, "build_time", BuildTime))
|
||||
}
|
||||
Reference in New Issue
Block a user