单独增加基于gin构建日志的方法 #2
							
								
								
									
										8
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								go.mod
									
									
									
									
									
								
							| @ -6,7 +6,7 @@ toolchain go1.24.0 | ||||
|  | ||||
| require ( | ||||
| 	git.zhangdeman.cn/zhangdeman/consts v0.0.0-20250227040546-863c03f34bb8 | ||||
| 	git.zhangdeman.cn/zhangdeman/gin v0.0.0-20250225092214-3432087fbd07 | ||||
| 	git.zhangdeman.cn/zhangdeman/gin v0.0.0-20250228104311-2fd9195b77e7 | ||||
| 	git.zhangdeman.cn/zhangdeman/network v0.0.0-20250224022106-1c57dcf5afd9 | ||||
| 	git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20241223084948-de2e49144fcd | ||||
| 	git.zhangdeman.cn/zhangdeman/websocket v0.0.0-20241125101541-c5ea194c9c1e | ||||
| @ -22,10 +22,10 @@ require ( | ||||
| 	git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20241101082529-28a6c68e38a4 // indirect | ||||
| 	git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20240122104027-4928421213c0 // indirect | ||||
| 	git.zhangdeman.cn/zhangdeman/util v0.0.0-20240618042405-6ee2c904644e // indirect | ||||
| 	git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250124091620-c757e551a8c9 // indirect | ||||
| 	git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250302133417-c1588abcb436 // indirect | ||||
| 	github.com/BurntSushi/toml v1.4.0 // indirect | ||||
| 	github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 // indirect | ||||
| 	github.com/bytedance/sonic v1.12.9 // indirect | ||||
| 	github.com/bytedance/sonic v1.12.10 // indirect | ||||
| 	github.com/bytedance/sonic/loader v0.2.3 // indirect | ||||
| 	github.com/cloudwego/base64x v0.1.5 // indirect | ||||
| 	github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1 // indirect | ||||
| @ -62,7 +62,7 @@ require ( | ||||
| 	go.uber.org/multierr v1.11.0 // indirect | ||||
| 	golang.org/x/arch v0.14.0 // indirect | ||||
| 	golang.org/x/crypto v0.35.0 // indirect | ||||
| 	golang.org/x/net v0.35.0 // indirect | ||||
| 	golang.org/x/net v0.36.0 // indirect | ||||
| 	golang.org/x/sys v0.30.0 // indirect | ||||
| 	golang.org/x/text v0.22.0 // indirect | ||||
| 	google.golang.org/protobuf v1.36.5 // indirect | ||||
|  | ||||
							
								
								
									
										9
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								go.sum
									
									
									
									
									
								
							| @ -6,6 +6,8 @@ git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20241101082529-28a6c68e38a4 h1:s6d4b | ||||
| git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20241101082529-28a6c68e38a4/go.mod h1:V4Dfg1v/JVIZGEKCm6/aehs8hK+Xow1dkL1yiQymXlQ= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20250225092214-3432087fbd07 h1:SadUKF3SZhuRTXaCKyQWEavN9fVLNbHL/GBz/KoiL6o= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20250225092214-3432087fbd07/go.mod h1:T2Q8Wcq98yTuSSaEPZVAZfs0DMSxeXMN10GOQCha5g4= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20250228104311-2fd9195b77e7 h1:koL8c0do1mOLFY+wLMqSpojgHSwVRbV6sSsJVKo9WfA= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20250228104311-2fd9195b77e7/go.mod h1:T2Q8Wcq98yTuSSaEPZVAZfs0DMSxeXMN10GOQCha5g4= | ||||
| git.zhangdeman.cn/zhangdeman/network v0.0.0-20250224022106-1c57dcf5afd9 h1:MphPBVuufQt4O2Nm+A2ldG/dMmb0LXZwAGcE/OkTRoU= | ||||
| git.zhangdeman.cn/zhangdeman/network v0.0.0-20250224022106-1c57dcf5afd9/go.mod h1:vSHUJdlbSVDheL+e7KtdG3n/fgb26J/JOMVuEiXG+A8= | ||||
| git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20240122104027-4928421213c0 h1:gUDlQMuJ4xNfP2Abl1Msmpa3fASLWYkNlqDFF/6GN0Y= | ||||
| @ -18,12 +20,16 @@ git.zhangdeman.cn/zhangdeman/websocket v0.0.0-20241125101541-c5ea194c9c1e h1:YE2 | ||||
| git.zhangdeman.cn/zhangdeman/websocket v0.0.0-20241125101541-c5ea194c9c1e/go.mod h1:L/7JugxKZL3JP9JP/XDvPAPz0FQXG1u181Su1+u/d1c= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250124091620-c757e551a8c9 h1:yF770WIDNwyiKL0nwmBGmjZvNCLXtHQL4xJyffPjTMU= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250124091620-c757e551a8c9/go.mod h1:I76wxEsWq7KnMQ84elpwTjEqq4I49QFw60tp5h7iGBs= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250302133417-c1588abcb436 h1:SM4zc54W2wmM72+4pMNQ8iS371H6lj4J8rj8KJKf7pw= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250302133417-c1588abcb436/go.mod h1:YJ1FlvFgkfAHkxkt3l5rKKUqEpQkNMbCFDzDmgteEU8= | ||||
| github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= | ||||
| github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= | ||||
| github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= | ||||
| github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= | ||||
| github.com/bytedance/sonic v1.12.9 h1:Od1BvK55NnewtGaJsTDeAOSnLVO2BTSLOe0+ooKokmQ= | ||||
| github.com/bytedance/sonic v1.12.9/go.mod h1:uVvFidNmlt9+wa31S1urfwwthTWteBgG0hWuoKAXTx8= | ||||
| github.com/bytedance/sonic v1.12.10 h1:uVCQr6oS5669E9ZVW0HyksTLfNS7Q/9hV6IVS4nEMsI= | ||||
| github.com/bytedance/sonic v1.12.10/go.mod h1:uVvFidNmlt9+wa31S1urfwwthTWteBgG0hWuoKAXTx8= | ||||
| github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= | ||||
| github.com/bytedance/sonic/loader v0.2.3 h1:yctD0Q3v2NOGfSWPLPvG2ggA2kV6TS6s4wioyEqssH0= | ||||
| github.com/bytedance/sonic/loader v0.2.3/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= | ||||
| @ -33,6 +39,7 @@ github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQ | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= | ||||
| github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1 h1:CaO/zOnF8VvUfEbhRatPcwKVWamvbYd8tQGRWacE9kU= | ||||
| github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4= | ||||
| github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= | ||||
| @ -148,6 +155,8 @@ golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= | ||||
| golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= | ||||
| golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= | ||||
| golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= | ||||
| golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= | ||||
| golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= | ||||
| golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= | ||||
| golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
|  | ||||
							
								
								
									
										32
									
								
								util.go
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								util.go
									
									
									
									
									
								
							| @ -34,6 +34,32 @@ func getStrVal(ctx context.Context, key string) string { | ||||
| 	return fmt.Sprintf("%v", val) | ||||
| } | ||||
|  | ||||
| // NewLogDataForGin 构建gin请求的日志 | ||||
| // | ||||
| // Author : go_developer@163.com<白茶清欢> | ||||
| // | ||||
| // Date : 14:37 2025/3/5 | ||||
| func NewLogDataForGin(ctx *gin.Context, logType string, code string, logData map[string]any) *LogData { | ||||
| 	hostname, _ := os.Hostname() | ||||
| 	commonLogData := &LogData{ | ||||
| 		Env:            ginRequest.WrapperHandle.GetCtxStringData(ctx, "env", ""), | ||||
| 		Uri:            ginRequest.WrapperHandle.GetUri(ctx, ""), | ||||
| 		TraceID:        ginRequest.WrapperHandle.GetCtxStringData(ctx, "trace_id", ""), | ||||
| 		UserID:         ginRequest.WrapperHandle.GetCtxStringData(ctx, "user_id", ""), | ||||
| 		UserRoleID:     ginRequest.WrapperHandle.GetCtxStringData(ctx, "user_role_id", ""), | ||||
| 		OperateMode:    ginRequest.WrapperHandle.GetCtxStringData(ctx, "operate_mode", ""), | ||||
| 		LogType:        logType, | ||||
| 		CodeVersion:    ginRequest.WrapperHandle.GetCtxStringData(ctx, "code_version", ""), | ||||
| 		ServiceVersion: ginRequest.WrapperHandle.GetCtxStringData(ctx, "service_version", ""), | ||||
| 		ClientIp:       ginRequest.WrapperHandle.GetCtxStringData(ctx, "client_ip", "s"), | ||||
| 		ServerIp:       util.IP.GetHostIP(), | ||||
| 		Hostname:       hostname, | ||||
| 		Code:           code, | ||||
| 		Data:           logData, | ||||
| 	} | ||||
| 	return commonLogData | ||||
| } | ||||
|  | ||||
| // NewLogData ... | ||||
| // | ||||
| // Author : go_developer@163.com<白茶清欢> | ||||
| @ -41,6 +67,12 @@ func getStrVal(ctx context.Context, key string) string { | ||||
| // Date : 16:21 2024/7/23 | ||||
| func NewLogData(ctx context.Context, logType string, code string, logData map[string]any) *LogData { | ||||
| 	hostname, _ := os.Hostname() | ||||
| 	if nil == ctx { | ||||
| 		ctx = context.TODO() | ||||
| 	} | ||||
| 	if ginCtx, ok := ctx.(*gin.Context); ok { | ||||
| 		return NewLogDataForGin(ginCtx, logType, code, logData) | ||||
| 	} | ||||
| 	commonLogData := &LogData{ | ||||
| 		Env:            getStrVal(ctx, "env"), | ||||
| 		Uri:            getStrVal(ctx, "uri"), | ||||
|  | ||||
		Reference in New Issue
	
	Block a user