Fix logger and audit http endpoint config lookup

master
Harshavardhana 5 years ago
parent 175b07d6e4
commit bd10640846
  1. 36
      cmd/logger/config.go
  2. 5
      pkg/env/env.go

@ -77,32 +77,32 @@ func NewConfig() Config {
// LookupConfig - lookup logger config, override with ENVs if set. // LookupConfig - lookup logger config, override with ENVs if set.
func LookupConfig(cfg Config) (Config, error) { func LookupConfig(cfg Config) (Config, error) {
if cfg.HTTP == nil {
cfg.HTTP = make(map[string]HTTP)
}
if cfg.Audit == nil {
cfg.Audit = make(map[string]HTTP)
}
envs := env.List(EnvLoggerHTTPEndpoint) envs := env.List(EnvLoggerHTTPEndpoint)
for _, e := range envs { for _, k := range envs {
target := strings.TrimPrefix(e, EnvLoggerHTTPEndpoint) target := strings.TrimPrefix(k, EnvLoggerHTTPEndpoint+defaultTarget)
if target == "" { if target == EnvLoggerHTTPEndpoint {
target = defaultTarget target = defaultTarget
} }
_, ok := cfg.HTTP[target] cfg.HTTP[target] = HTTP{
if ok { Enabled: true,
cfg.HTTP[target] = HTTP{ Endpoint: env.Get(k, cfg.HTTP[target].Endpoint),
Enabled: true,
Endpoint: env.Get(e, cfg.HTTP[target].Endpoint),
}
} }
} }
aenvs := env.List(EnvAuditLoggerHTTPEndpoint) aenvs := env.List(EnvAuditLoggerHTTPEndpoint)
for _, e := range aenvs { for _, k := range aenvs {
target := strings.TrimPrefix(e, EnvAuditLoggerHTTPEndpoint) target := strings.TrimPrefix(k, EnvAuditLoggerHTTPEndpoint+defaultTarget)
if target == "" { if target == EnvAuditLoggerHTTPEndpoint {
target = defaultTarget target = defaultTarget
} }
_, ok := cfg.Audit[target] cfg.Audit[target] = HTTP{
if ok { Enabled: true,
cfg.Audit[target] = HTTP{ Endpoint: env.Get(k, cfg.Audit[target].Endpoint),
Enabled: true,
Endpoint: env.Get(e, cfg.Audit[target].Endpoint),
}
} }
} }

5
pkg/env/env.go vendored

@ -27,7 +27,10 @@ func Lookup(key string) (string, bool) { return os.LookupEnv(key) }
func List(prefix string) (envs []string) { func List(prefix string) (envs []string) {
for _, env := range os.Environ() { for _, env := range os.Environ() {
if strings.HasPrefix(env, prefix) { if strings.HasPrefix(env, prefix) {
envs = append(envs, env) values := strings.SplitN(env, "=", 2)
if len(values) == 2 {
envs = append(envs, values[0])
}
} }
} }
return envs return envs

Loading…
Cancel
Save