-
Notifications
You must be signed in to change notification settings - Fork 3
/
error.go
54 lines (44 loc) · 1.22 KB
/
error.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package udp
import (
"github.com/crimist/trakx/tracker/config"
"github.com/crimist/trakx/tracker/stats"
"github.com/crimist/trakx/tracker/udp/protocol"
"go.uber.org/zap"
)
type cerrFields map[string]interface{}
func (u *UDPTracker) newClientError(msg string, TransactionID int32, fieldMap ...cerrFields) []byte {
stats.ClientErrors.Add(1)
if config.Config.LogLevel.Debug() {
fields := []zap.Field{zap.String("msg", msg)}
if len(fieldMap) == 1 {
for k, v := range fieldMap[0] {
fields = append(fields, zap.Any(k, v))
}
}
config.Logger.Info("Client Err", fields...)
}
e := protocol.Error{
Action: protocol.ActionError,
TransactionID: TransactionID,
ErrorString: []byte(msg),
}
data, err := e.Marshall()
if err != nil {
config.Logger.Error("e.Marshall()", zap.Error(err))
}
return data
}
func (u *UDPTracker) newServerError(msg string, err error, TransactionID int32) []byte {
stats.ServerErrors.Add(1)
e := protocol.Error{
Action: protocol.ActionError,
TransactionID: TransactionID,
ErrorString: []byte("internal err"),
}
config.Logger.Error(msg, zap.Error(err))
data, err := e.Marshall()
if err != nil {
config.Logger.Error("e.Marshall()", zap.Error(err))
}
return data
}