我想要一种方法,我们可以通过这种方法来计算否。 logrus 日志中发生的错误和警告的数量。
我想使用一个结构来记录错误和警告,
type ErrorsAndWarnings struct{
Errors int
Warnings int
}
最佳答案
您可以在 logrus 中使用钩子(Hook)。每次为一个级别调用日志时都会调用钩子(Hook)。
// 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
}
关于go - 如何检查通过 logrus 生成的日志,以获取编号。错误和警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55771966/