mirror of
https://github.com/alibaba/higress.git
synced 2026-03-01 23:20:52 +08:00
75 lines
2.2 KiB
Diff
75 lines
2.2 KiB
Diff
diff --git a/log/config.go b/log/config.go
|
|
index f0d9c0c..8e008c9 100644
|
|
--- a/log/config.go
|
|
+++ b/log/config.go
|
|
@@ -141,6 +141,12 @@ func prepZap(options *Options) (zapcore.Core, zapcore.Core, zapcore.WriteSyncer,
|
|
} else {
|
|
encCfg := defaultEncoderConfig
|
|
|
|
+ // Added by ingress
|
|
+ // Support local time format
|
|
+ if options.LocalTime {
|
|
+ encCfg.EncodeTime = formatLocalDate
|
|
+ }
|
|
+
|
|
if options.JSONEncoding {
|
|
enc = zapcore.NewJSONEncoder(encCfg)
|
|
useJSON.Store(true)
|
|
@@ -239,6 +245,42 @@ func formatDate(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
|
|
enc.AppendString(string(buf))
|
|
}
|
|
|
|
+func formatLocalDate(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
|
|
+ t = t.Local()
|
|
+ year, month, day := t.Date()
|
|
+ hour, minute, second := t.Clock()
|
|
+ micros := t.Nanosecond() / 1000
|
|
+ buf := make([]byte, 27)
|
|
+ buf[0] = byte((year/1000)%10) + '0'
|
|
+ buf[1] = byte((year/100)%10) + '0'
|
|
+ buf[2] = byte((year/10)%10) + '0'
|
|
+ buf[3] = byte(year%10) + '0'
|
|
+ buf[4] = '-'
|
|
+ buf[5] = byte((month)/10) + '0'
|
|
+ buf[6] = byte((month)%10) + '0'
|
|
+ buf[7] = '-'
|
|
+ buf[8] = byte((day)/10) + '0'
|
|
+ buf[9] = byte((day)%10) + '0'
|
|
+ buf[10] = 'T'
|
|
+ buf[11] = byte((hour)/10) + '0'
|
|
+ buf[12] = byte((hour)%10) + '0'
|
|
+ buf[13] = ':'
|
|
+ buf[14] = byte((minute)/10) + '0'
|
|
+ buf[15] = byte((minute)%10) + '0'
|
|
+ buf[16] = ':'
|
|
+ buf[17] = byte((second)/10) + '0'
|
|
+ buf[18] = byte((second)%10) + '0'
|
|
+ buf[19] = '.'
|
|
+ buf[20] = byte((micros/100000)%10) + '0'
|
|
+ buf[21] = byte((micros/10000)%10) + '0'
|
|
+ buf[22] = byte((micros/1000)%10) + '0'
|
|
+ buf[23] = byte((micros/100)%10) + '0'
|
|
+ buf[24] = byte((micros/10)%10) + '0'
|
|
+ buf[25] = byte((micros)%10) + '0'
|
|
+ buf[26] = 'Z'
|
|
+ enc.AppendString(string(buf))
|
|
+}
|
|
+
|
|
func updateScopes(options *Options) error {
|
|
// snapshot what's there
|
|
allScopes := Scopes()
|
|
diff --git a/log/options.go b/log/options.go
|
|
index e1833fe..999e4b2 100644
|
|
--- a/log/options.go
|
|
+++ b/log/options.go
|
|
@@ -133,6 +133,9 @@ type Options struct {
|
|
teeToUDSServer bool
|
|
udsSocketAddress string
|
|
udsServerPath string
|
|
+
|
|
+ // localTime determines whether the time format of istio log is local time format.
|
|
+ LocalTime bool
|
|
}
|
|
|
|
// DefaultOptions returns a new set of options, initialized to the defaults
|