亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從日志中獲取過去 x 小時的錯誤計數

如何從日志中獲取過去 x 小時的錯誤計數

Go
MMTTMM 2022-08-09 16:45:24
我正在嘗試解析日志文件以獲取過去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" 102ms192.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" 91ms192.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:8080400 3 http://example2:8080500 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)
查看完整描述

1 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

所以為了你的時間。Parse(...) 當您在第一個參數中指定格式時,必須使用非常特定的值。

(抱歉,我不知道這在文檔中的位置,我只是在需要引用它時總是去源代碼)https://github.com/golang/go/blob/master/src/time/format.go#L92

所以對你來說:

"01-JAN-1970 00:00:00"應該是"01-Jan-2006 03:04:05"

使用給定引用中正確格式的常量值的示例。https://play.golang.org/p/MUNqaFQHjVJ

編輯:

對于使用 format.go 引用的強調,即值(月、小時、秒等),語法“01/Jan/2006”或“01-Jan-2006”或“01--Jan--2006”都是解析時間的有效方法。

Go 允許非常靈活地解析基于字符串的日期。

下面是另一個格式示例:https://play.golang.org/p/kEyZEDpu-6N"01/Jan/2006 03:04:05"


查看完整回答
反對 回復 2022-08-09
  • 1 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號