From 5a61e6d9c011e5df030ddb643e9501b97bfdfee2 Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Tue, 2 Jul 2024 16:50:38 +0800 Subject: [PATCH] server: add the function of convert UTC time to asia.shanghai time --- server/global/timeProcess.go | 15 +++++++++++++++ server/service/cluster/LogStream.go | 6 +++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/server/global/timeProcess.go b/server/global/timeProcess.go index fb64cd0..36b0867 100644 --- a/server/global/timeProcess.go +++ b/server/global/timeProcess.go @@ -26,4 +26,19 @@ func GetTime_Timestamp2DateTime(timestamp int64) string { t := time.Unix(timestamp/1000, 0) date_time := t.UTC().Format(time.RFC3339) return date_time +} + +func GetTime_UTCDateTime2ShanghaiDateTime(utc_date_str string) (string, error) { + location, err := time.LoadLocation("Asia/Shanghai") + if err != nil { + err = errors.Errorf("fail to convert utc datetime to asia.shanghai datetime: %s, %s **errstack**0", utc_date_str, err.Error()) + return "", err + } + utctime, err := time.Parse(time.RFC3339, utc_date_str) + if err != nil { + err = errors.Errorf("fail to convert utc datetime to asia.shanghai datetime: %s, %s **errstack**0", utc_date_str, err.Error()) + return "", err + } + shanghaitime := utctime.In(location) + return shanghaitime.Format("2006-01-02 15:04:05"), nil } \ No newline at end of file diff --git a/server/service/cluster/LogStream.go b/server/service/cluster/LogStream.go index b239fb0..efa9f67 100644 --- a/server/service/cluster/LogStream.go +++ b/server/service/cluster/LogStream.go @@ -4,6 +4,7 @@ import ( "encoding/json" "gitee.com/openeuler/PilotGo-plugin-elk/server/elasticClient" + "gitee.com/openeuler/PilotGo-plugin-elk/server/global" "github.com/pkg/errors" "github.com/tidwall/gjson" ) @@ -23,7 +24,10 @@ func ProcessLogStreamData(index string, querybody map[string]interface{}) (inter json.Unmarshal([]byte(hit_raw.Get("fields").Raw), &hit_map) log := map[string]interface{}{} - log["date"] = hit_map["@timestamp"][0].(string) + if log["date"], err = global.GetTime_UTCDateTime2ShanghaiDateTime(hit_map["@timestamp"][0].(string)); err != nil { + err = errors.Wrap(err, "fail to process log timeaxis data") + return nil, err + } if hit_map["log.level"] != nil { log["level"] = hit_map["log.level"][0].(string) } else { -- Gitee