我正在尝试解析日志文件以获取过去X小时内的错误计数。
192.168.0.1 - - [11/Feb/2021:06:42:16 +0000] "POST /a/b/c/d/e HTTP/1.1" 200 28 "-" "-" 9104144117 "example" "http://example:8080" 102ms
192.168.0.1 - - [11/Feb/2021:11:42:16 +0000] "POST /a/b/c/d/e HTTP/1.1" 200 28 "-" "-" 9104144155 "example" "http://example2:8080" 91ms
192.168.0.1 - - [11/Feb/2021:12:42:16 +0000] "POST /a/b/c/d/e HTTP/1.1" 200 28 "-" "-" 9104144155 "example" "http://example3:8080" 91ms
输出:
200 2 http://example:8080
400 3 http://example2:8080
500 10 http://example:8080
我想要日志文件中当前时间和X小时时间之间的差异。因此,我可以在最后一小时内收到错误。
我尝试使用时间。Parse() 但它不接受日志文件中提到的日期格式。
将日志行时间转换为此处提到的特定格式是一个好主意,https://golang.org/pkg/time/#pkg-constants 还是应该将其转换为持续时间?
此代码提供了错误的信息。因为格式不正确。
then, _ := time.Parse("01-JAN-1970 00:00:00", "11-Feb-2021 11:42:16")
fmt.Println(then)
lTime := then.Add(-1 * time.Hour)
fmt.Println(lTime)
哔哔one
相关分类