From a1c15a2c26d22babe27d9b64fae7bf52bfdddbd9 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Mon, 21 Aug 2023 19:27:32 +0800 Subject: [PATCH] =?UTF-8?q?other:=20=E8=B0=83=E6=95=B4=20log.Duration=20?= =?UTF-8?q?=E5=92=8C=20log.DurationP=20=E5=87=BD=E6=95=B0=E4=B8=BA=20Strin?= =?UTF-8?q?g=20=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/log/field.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/utils/log/field.go b/utils/log/field.go index 80ef71e..5228882 100644 --- a/utils/log/field.go +++ b/utils/log/field.go @@ -2,6 +2,7 @@ package log import ( "go.uber.org/zap" + "time" ) type Field = zap.Field @@ -142,10 +143,15 @@ var ( StackSkip = zap.StackSkip // Duration 使用给定的键和值构造一个字段。编码器控制持续时间的序列化方式 - Duration = zap.Duration + Duration = func(key string, val time.Duration) Field { + return String(key, val.String()) + } // DurationP 构造一个带有 time.Duration 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” - DurationP = zap.Durationp + DurationP = func(key string, val *time.Duration) Field { + var s = (*val).String() + return StringP(key, &s) + } // Object 使用给定的键和 ObjectMarshaler 构造一个字段。它提供了一种灵活但仍然类型安全且高效的方法来将类似映射或结构的用户定义类型添加到日志记录上下文。该结构的 MarshalLogObject 方法被延迟调用 Object = zap.Object