我正在尝试读取日志文件并匹配每行中的一些字符串。现在,如果行没有任何匹配的字符串,程序将退出并出现错误,因为 和 的长度之后停止读取行。我希望程序继续读取下一行,即使正则表达式在两者之间不匹配。res == 0
func analyzeLog(s string) (*time.Time, bool) {
res := regexp.MustCompile(LogLineRegex).FindAllStringSubmatch(s, 1)
if len(res) == 0 {
panic("Not Matching")
}
timeString := res[0][1]
description := res[0][2]
t, err := time.Parse(TimeFormat, timeString)
check(err)
return &t, strings.HasPrefix(description, ErrorTerm)
}
func readLogFile(offset int64) (*ErrorMetrics, int64, error) {
...
...
...
for {
line, _, err := r.ReadLine()
if err == io.EOF {
break
} else if err != nil {
panic(err)
}
t, hasError := analyzeLog(string(line))
if hasError {
em.Count += 1
}
}
...
...
...
}
什么是向前迈进的好方法?
当年话下
炎炎设计
相关分类