Я хотел, чтобы мы могли вести счет нет. ошибок и предупреждений, которые произошли в логах logrus.
Я хочу использовать структуру для подсчета ошибок и предупреждений,
type ErrorsAndWarnings struct{ Errors int Warnings int }
Вы можете использовать крючки в logrus.Крючок будет вызываться каждый раз, когда для уровня вызывается журнал.
// You can make Errors and Warnings as atomic integers or probably // use locks to make it thread safe type ErrorsAndWarnings struct{ Errors int Warnings int } var ( levels = []logrus.Level{logrus.WarnLevel, logrus.ErrorLevel} ) func (h *ErrorsAndWarnings) Levels() []logrus.Level { return levels } func (h *ErrorsAndWarnings) Fire(entry *logrus.Entry) error { if entry.Level == logrus.ErrorLevel{ h.Errors++ }else if entry.Level == logrus.WarnLevel{ h.Warnings++ } return nil }