Пример #1
0
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
}
Пример #2
0
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()
}