MCPcopy
hub / github.com/TarsCloud/TarsGo / LoggerWithContext

Method LoggerWithContext

tars/protocol/res/logf/Log.tars.go:75–158  ·  view source on GitHub ↗

LoggerWithContext is the proxy function for the method defined in the tars file, with the context

(tarsCtx context.Context, app string, server string, file string, format string, buffer []string, opts ...map[string]string)

Source from the content-addressed store, hash-verified

73
74// LoggerWithContext is the proxy function for the method defined in the tars file, with the context
75func (obj *Log) LoggerWithContext(tarsCtx context.Context, app string, server string, file string, format string, buffer []string, opts ...map[string]string) (err error) {
76 var (
77 length int32
78 have bool
79 ty byte
80 )
81 buf := codec.NewBuffer()
82 err = buf.WriteString(app, 1)
83 if err != nil {
84 return err
85 }
86
87 err = buf.WriteString(server, 2)
88 if err != nil {
89 return err
90 }
91
92 err = buf.WriteString(file, 3)
93 if err != nil {
94 return err
95 }
96
97 err = buf.WriteString(format, 4)
98 if err != nil {
99 return err
100 }
101
102 err = buf.WriteHead(codec.LIST, 5)
103 if err != nil {
104 return err
105 }
106 err = buf.WriteInt32(int32(len(buffer)), 0)
107 if err != nil {
108 return err
109 }
110 for _, v := range buffer {
111 err = buf.WriteString(v, 0)
112 if err != nil {
113 return err
114 }
115 }
116
117 var statusMap map[string]string
118 var contextMap map[string]string
119 if len(opts) == 1 {
120 contextMap = opts[0]
121 } else if len(opts) == 2 {
122 contextMap = opts[0]
123 statusMap = opts[1]
124 }
125
126 tarsResp := new(requestf.ResponsePacket)
127 err = obj.servant.TarsInvoke(tarsCtx, 0, "logger", buf.ToBytes(), statusMap, contextMap, tarsResp)
128 if err != nil {
129 return err
130 }
131
132 if len(opts) == 1 {

Callers 1

LoggerMethod · 0.95

Calls 6

WriteStringMethod · 0.95
WriteHeadMethod · 0.95
WriteInt32Method · 0.95
ToBytesMethod · 0.95
NewBufferFunction · 0.92
TarsInvokeMethod · 0.65

Tested by

no test coverage detected