|
@@ -121,7 +121,7 @@ func getInternetIP() (string, error) {
|
|
|
type HiedaLogYamlUtil struct {
|
|
|
alisls_bknlist []*hiedabke_alisls.HiedaBackendAliSLS
|
|
|
Logger *hiedalog.HiedaLogger
|
|
|
- AddedBackends map[string]*hiedalog.HiedaLogBackend
|
|
|
+ AddedBackends map[string]hiedalog.HiedaLogBackend
|
|
|
}
|
|
|
|
|
|
func (hyu *HiedaLogYamlUtil) StartAliSLS() {
|
|
@@ -146,11 +146,17 @@ func (hyu *HiedaLogYamlUtil) Shutdown(timeout_ms int64) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+type addInfo struct {
|
|
|
+ Name string
|
|
|
+ Backend hiedalog.HiedaLogBackend
|
|
|
+ Level uint8
|
|
|
+}
|
|
|
+
|
|
|
func CreateHiedaLoggerFromYAMLData(cfgdata CommonLogConfigYAML, autoStartAliSLS bool) (*HiedaLogYamlUtil, error) {
|
|
|
hyu := &HiedaLogYamlUtil{
|
|
|
Logger: hiedalog.NewHiedaLogger(),
|
|
|
alisls_bknlist: make([]*hiedabke_alisls.HiedaBackendAliSLS, 0),
|
|
|
- AddedBackends: make(map[string]*hiedalog.HiedaLogBackend),
|
|
|
+ AddedBackends: make(map[string]hiedalog.HiedaLogBackend),
|
|
|
}
|
|
|
if cfgdata.Enable {
|
|
|
if cfgdata.Backends != nil {
|
|
@@ -175,7 +181,7 @@ func CreateHiedaLoggerFromYAMLData(cfgdata CommonLogConfigYAML, autoStartAliSLS
|
|
|
return nil, err
|
|
|
}
|
|
|
hyu.Logger.AddBackend(cins, lvi)
|
|
|
- hyu.AddedBackends[k] = &cins
|
|
|
+ hyu.AddedBackends[k] = cins
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -185,18 +191,19 @@ func CreateHiedaLoggerFromYAMLData(cfgdata CommonLogConfigYAML, autoStartAliSLS
|
|
|
return hyu, nil
|
|
|
}
|
|
|
|
|
|
-func AddBackendsFromYAMLDataWithExistedLogger(logger *hiedalog.HiedaLogger, cfgdata CommonLogConfigYAML, autoStartAliSLS bool) error {
|
|
|
+func AddBackendsFromYAMLDataWithExistedLogger(logger *hiedalog.HiedaLogger, cfgdata CommonLogConfigYAML, autoStartAliSLS bool, clearExistBackends bool) (*HiedaLogYamlUtil, error) {
|
|
|
hyu := &HiedaLogYamlUtil{
|
|
|
Logger: logger,
|
|
|
alisls_bknlist: make([]*hiedabke_alisls.HiedaBackendAliSLS, 0),
|
|
|
- AddedBackends: make(map[string]*hiedalog.HiedaLogBackend),
|
|
|
+ AddedBackends: make(map[string]hiedalog.HiedaLogBackend),
|
|
|
}
|
|
|
if cfgdata.Enable {
|
|
|
if cfgdata.Backends != nil {
|
|
|
+ addlist := make([]*addInfo, 0)
|
|
|
for k, v := range cfgdata.Backends {
|
|
|
lvi := hyu.Logger.LevelFilter.NameToID(v.Level)
|
|
|
if lvi == 7 {
|
|
|
- return fmt.Errorf("unsupported log level '%s' in backend '%s'", v.Level, k)
|
|
|
+ return nil, fmt.Errorf("unsupported log level '%s' in backend '%s'", v.Level, k)
|
|
|
}
|
|
|
var cins hiedalog.HiedaLogBackend
|
|
|
var err error
|
|
@@ -208,18 +215,28 @@ func AddBackendsFromYAMLDataWithExistedLogger(logger *hiedalog.HiedaLogger, cfgd
|
|
|
case "alisls":
|
|
|
cins, err = hyu.parseAlislsBackend(v)
|
|
|
default:
|
|
|
- return fmt.Errorf("unsupported log backend type '%s' in backend '%s'", v.Type, k)
|
|
|
+ return nil, fmt.Errorf("unsupported log backend type '%s' in backend '%s'", v.Type, k)
|
|
|
}
|
|
|
if err != nil {
|
|
|
- return err
|
|
|
+ return nil, err
|
|
|
}
|
|
|
- hyu.Logger.AddBackend(cins, lvi)
|
|
|
- hyu.AddedBackends[k] = &cins
|
|
|
+ addlist = append(addlist, &addInfo{
|
|
|
+ Name: k,
|
|
|
+ Backend: cins,
|
|
|
+ Level: lvi,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if clearExistBackends {
|
|
|
+ hyu.Logger.BackendConfigs = make([]hiedalog.HiedaLogBackendConfig, 0)
|
|
|
+ }
|
|
|
+ for _, v := range addlist {
|
|
|
+ hyu.Logger.AddBackend(v.Backend, v.Level)
|
|
|
+ hyu.AddedBackends[v.Name] = v.Backend
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if autoStartAliSLS {
|
|
|
hyu.StartAliSLS()
|
|
|
}
|
|
|
- return nil
|
|
|
+ return hyu, nil
|
|
|
}
|