package main import ( "fmt" "git.swzry.com/zry/GoHiedaLogger/hiedabke_alisls" "git.swzry.com/zry/GoHiedaLogger/hiedalog" "gopkg.in/yaml.v2" "io/ioutil" "strconv" "time" ) type YAML_AliSLSCfg struct { Appkey string `yaml:"appkey"` Secret string `yaml:"secret"` Endpoint string `yaml:"endpoint"` Project string `yaml:"project"` Logstore string `yaml:"logstore"` Topic string `yaml:"topic"` } var Config YAML_AliSLSCfg func main() { yb, err := ioutil.ReadFile("config.secret.yaml") if err != nil { fmt.Println("Unable to read config.secret.yaml:", err.Error()) return } err = yaml.Unmarshal(yb, &Config) if err != nil { fmt.Println("Unable to parse config.secret.yaml:", err.Error()) return } alicfg := hiedabke_alisls.AliSLSConfig{ DebugMode: true, AccessKeyID: Config.Appkey, AccessKeySecret: Config.Secret, Endpoint: Config.Endpoint, Project: Config.Project, Logstore: Config.Logstore, Topic: Config.Topic, AppName: "HiedaLoggerAliSLSTest2", SourceIP: "10.2.2.2", } lbas := hiedabke_alisls.NewHiedaBackendAliSLS(alicfg, nil) lbas.StartProducer() fmt.Println(time.Now().String(), "Producer Ready.") logger := hiedalog.NewHiedaLogger() logger.AddBackend(lbas, logger.LevelFilter.NameToID("VERBOSE")) logger.AddBackend(lbas, logger.LevelFilter.NameToID("WARN")) logger.LogPrint("app", hiedalog.DLN_INFO, "hello", "world") for _, v := range logger.LevelFilter.GetLevelList() { logger.LogPrintf("logtest", v.Name, "LogLevelFilerTest: name=%s, lvid=%d", v.Name, v.LevelNumber) logger.LogComplex("cltest", v.Name, map[string]string{ "name": v.Name, "id": strconv.Itoa(int(v.LevelNumber)), "extra": "hello", }) } fmt.Println(time.Now().String(), "Log Task Over.") lbas.SafeStopProducer() fmt.Println(time.Now().String(), "Producer Stop.") }