minor polish
This commit is contained in:
parent
3403a8e168
commit
1ebdf085e5
@ -6,6 +6,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"gitea.djmil.dev/djmil/go-template/internal/config"
|
"gitea.djmil.dev/djmil/go-template/internal/config"
|
||||||
"gitea.djmil.dev/djmil/go-template/internal/greeter"
|
"gitea.djmil.dev/djmil/go-template/internal/greeter"
|
||||||
@ -38,7 +39,7 @@ func run() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
log.WithFields(map[string]any{
|
log.WithFields(map[string]any{
|
||||||
"app": cfg.App.Name,
|
"app": filepath.Base(os.Args[0]),
|
||||||
"env": cfg.App.Env,
|
"env": cfg.App.Env,
|
||||||
}).Info("starting up")
|
}).Info("starting up")
|
||||||
|
|
||||||
@ -46,7 +47,7 @@ func run() (err error) {
|
|||||||
var greetSvc greeter.Greeter = greeter.New(log)
|
var greetSvc greeter.Greeter = greeter.New(log)
|
||||||
|
|
||||||
// ── Example usage ─────────────────────────────────────────────────────────
|
// ── Example usage ─────────────────────────────────────────────────────────
|
||||||
msg := greetSvc.Greet("").Expect("greeting")
|
msg := greetSvc.Greet(cfg.Greeter.Name).Expect("greeting")
|
||||||
|
|
||||||
log.WithField("message", msg).Info("greeting complete")
|
log.WithField("message", msg).Info("greeting complete")
|
||||||
|
|
||||||
|
|||||||
@ -17,11 +17,11 @@ import (
|
|||||||
type Config struct {
|
type Config struct {
|
||||||
App AppConfig
|
App AppConfig
|
||||||
Logger LoggerConfig
|
Logger LoggerConfig
|
||||||
|
Greeter GreeterConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
// AppConfig holds generic application settings.
|
// AppConfig holds generic application settings.
|
||||||
type AppConfig struct {
|
type AppConfig struct {
|
||||||
Name string
|
|
||||||
Port int
|
Port int
|
||||||
Env string // dev | staging | prod
|
Env string // dev | staging | prod
|
||||||
}
|
}
|
||||||
@ -31,10 +31,15 @@ type LoggerConfig struct {
|
|||||||
Level string // debug | info | warn | error
|
Level string // debug | info | warn | error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Greeter config for internal/greeter/Service.
|
||||||
|
type GreeterConfig struct {
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
// Load parses command-line flags and returns a Config.
|
// Load parses command-line flags and returns a Config.
|
||||||
// Call this once at startup before any other flag parsing.
|
// Call this once at startup before any other flag parsing.
|
||||||
func Load() *Config {
|
func Load() *Config {
|
||||||
name := flag.String("name", "go-template", "application name")
|
name := flag.String("name", "Gopher", "application name")
|
||||||
port := flag.Int("port", 8080, "listen port")
|
port := flag.Int("port", 8080, "listen port")
|
||||||
env := flag.String("env", "dev", "environment: dev | staging | prod")
|
env := flag.String("env", "dev", "environment: dev | staging | prod")
|
||||||
level := flag.String("log-level", "info", "log level: debug | info | warn | error")
|
level := flag.String("log-level", "info", "log level: debug | info | warn | error")
|
||||||
@ -43,12 +48,14 @@ func Load() *Config {
|
|||||||
|
|
||||||
return &Config{
|
return &Config{
|
||||||
App: AppConfig{
|
App: AppConfig{
|
||||||
Name: *name,
|
|
||||||
Port: *port,
|
Port: *port,
|
||||||
Env: *env,
|
Env: *env,
|
||||||
},
|
},
|
||||||
Logger: LoggerConfig{
|
Logger: LoggerConfig{
|
||||||
Level: *level,
|
Level: *level,
|
||||||
},
|
},
|
||||||
|
Greeter: GreeterConfig{
|
||||||
|
Name: *name,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user