🐛 Load config env before paraing cli
This commit is contained in:
parent
85f666cbc2
commit
a6f3cf39a0
3 changed files with 37 additions and 8 deletions
|
|
@ -31,7 +31,7 @@ func Load() (Config, error) {
|
|||
}
|
||||
}
|
||||
env.Parse(&c)
|
||||
// @todo how to handle env on options so cli args aren't overwrittem?
|
||||
c.Outputs["stdout"] = loadStdout(c.Outputs["stdout"])
|
||||
|
||||
l := ""
|
||||
for k, v := range Overrides {
|
||||
|
|
@ -55,18 +55,25 @@ func Load() (Config, error) {
|
|||
return c, err
|
||||
}
|
||||
|
||||
func loadStdout(stdout Output) Output {
|
||||
st := stdoutEnabled{stdout.Enabled}
|
||||
env.Parse(&st)
|
||||
stdout.Enabled = st.Enabled
|
||||
var std Stdout
|
||||
mapst.Decode(stdout.Config, &std)
|
||||
env.Parse(&std)
|
||||
mapst.Decode(std, &stdout.Config)
|
||||
return stdout
|
||||
}
|
||||
|
||||
func (oo Outputs) Stdout() (s Stdout, enabled bool) {
|
||||
o, ok := oo["stdout"]
|
||||
if !ok {
|
||||
return s, false
|
||||
}
|
||||
st := struct {
|
||||
Enabled bool `env:"LOG_STDOUT_ENABLED"`
|
||||
}{o.Enabled}
|
||||
env.Parse(&st)
|
||||
|
||||
enabled = st.Enabled
|
||||
enabled = o.Enabled
|
||||
mapst.Decode(o.Config, &s)
|
||||
env.Parse(&s)
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue