func (obj *Decorator) colorizeLevel(level log.LogLevel) string { var str string switch level.Code { case log.DEBUG_CODE: str = color.BlackString(log.DEBUG_SHORT_STRING) break case log.INFO_CODE: str = color.BlueString(log.INFO_SHORT_STRING) break case log.NOTICE_CODE: str = color.CyanString(log.NOTICE_SHORT_STRING) break case log.WARNING_CODE: str = color.YellowString(log.WARNING_SHORT_STRING) break case log.ERROR_CODE: str = color.RedString(log.ERROR_SHORT_STRING) break case log.CRITICAL_CODE: s := color.New(color.FgWhite, color.BgRed).SprintFunc() str = fmt.Sprint(s(log.CRITICAL_SHORT_STRING)) break case log.ALERT_CODE: s := color.New(color.FgWhite, color.BgRed).SprintFunc() str = fmt.Sprint(s(log.ALERT_SHORT_STRING)) break case log.EMERGENCY_CODE: s := color.New(color.FgWhite, color.Bold, color.BgHiRed).SprintFunc() str = fmt.Sprint(s(log.EMERGENCY_SHORT_STRING)) break default: str = string(level.Code) } return str }
func Report(cl component.Client, duration int) { object := `Psp.Module.Notification.Components.Adapter.PastabankAdapter` var request model.Request var logs []log.Log c := color.New(color.FgGreen, color.Bold) c.Println("Pastabank") // Received mails request = worker.Request(object, "Created mail with id :id", "", duration) logs = cl.FindLogs(request) fmt.Printf(" • %-30s %s", "Mail (Received / Processed):", color.CyanString(fmt.Sprint(cap(logs)))) fmt.Println() // Processed mails request = worker.Request(object, "Found mail with id :id", "", duration) logs = cl.FindLogs(request) fmt.Printf(" • %-30s %s", "Processed:", color.CyanString(fmt.Sprint(cap(logs)))) fmt.Println() // Files request = worker.Request(object, "Starts parsing attach :file", "", duration) logs = cl.FindLogs(request) fmt.Printf(" • %-30s %s", "Files (found / unknown):", color.CyanString(fmt.Sprint(cap(logs)))) request = worker.Request(object, "Unknown file :file", "", duration) logs = cl.FindLogs(request) fmt.Printf(" / %s", color.BlackString(fmt.Sprint(cap(logs)))) fmt.Println() // Processed chb request = worker.Request(object, "Processed :c1 and stored :c2 chargebacks", "", duration) logs = cl.FindLogs(request) var chargeback int for _, log := range logs { chargeback += int(log.Source["c1"].(float64)) } fmt.Printf(" • %-30s %s", "Chargebacks (new / similar):", color.RedString(fmt.Sprint(chargeback))) // Similar chb request = worker.Request(object, "Found similar chargeback with id :id", "", duration) logs = cl.FindLogs(request) fmt.Printf(" / %s", color.BlackString(fmt.Sprint(cap(logs)))) fmt.Println() // Processed alerts request = worker.Request(object, "Processed :c1 and stored :c2 alerts", "", duration) logs = cl.FindLogs(request) var alerts int for _, log := range logs { alerts += int(log.Source["c1"].(float64)) } fmt.Printf(" • %-30s %s", "Alerts (new / similar):", color.RedString(fmt.Sprint(alerts))) // Similar alerts request = worker.Request(object, "Found similar alert with id :id", "", duration) logs = cl.FindLogs(request) fmt.Printf(" / %s", color.BlackString(fmt.Sprint(cap(logs)))) fmt.Println() // Total request = worker.Request(object, "Send :count rows", ` NOT count: "0"`, duration) logs = cl.FindLogs(request) var sendCount int for _, log := range logs { sendCount += int(log.Source["count"].(float64)) } fmt.Printf(" • %-30s %s", "Send:", color.CyanString(fmt.Sprint(sendCount))) fmt.Println() // Instances request = worker.Request(object, "Start pasta bank adapter", "", 1) logs = cl.FindLogs(request) instances := map[string]string{} for _, log := range logs { if _, ok := instances[log.ScriptId]; !ok { instances[log.ScriptId] = "" } } fmt.Printf(" • %-30s %s", "Instances (last h):", color.CyanString(fmt.Sprint(len(instances)))) fmt.Println() }