Skip to content

Commit d7ca287

Browse files
authored
Replace logrus with zap logger (#3)
Signed-off-by: Arrobo, Gabriel <[email protected]>
1 parent 0053836 commit d7ca287

File tree

8 files changed

+66
-61
lines changed

8 files changed

+66
-61
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RUN if [ "$DEBUG_TOOLS" = "true" ]; then \
2626
fi
2727

2828
# Set working dir
29-
WORKDIR /upfadapter
29+
WORKDIR /aether
3030

3131
# Copy executable and default certs
3232
COPY --from=builder /go/src/upfadapter/bin/* .

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.2-dev
1+
2.0.0

go.mod

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ module github.com/omec-project/upfadapter
66
go 1.21
77

88
require (
9-
github.com/antonfisher/nested-logrus-formatter v1.3.1
109
github.com/pkg/errors v0.9.1
11-
github.com/sirupsen/logrus v1.9.3
1210
github.com/wmnsk/go-pfcp v0.0.24
11+
go.uber.org/zap v1.27.0
1312
)
1413

1514
require (
1615
github.com/stretchr/testify v1.9.0 // indirect
17-
golang.org/x/sys v0.18.0 // indirect
16+
go.uber.org/multierr v1.10.0 // indirect
1817
)

go.sum

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
github.com/antonfisher/nested-logrus-formatter v1.3.1 h1:NFJIr+pzwv5QLHTPyKz9UMEoHck02Q9L0FP13b/xSbQ=
2-
github.com/antonfisher/nested-logrus-formatter v1.3.1/go.mod h1:6WTfyWFkBc9+zyBaKIqRrg/KwMqBbodBjgbHjDz7zjA=
3-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
41
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
52
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
63
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
@@ -9,18 +6,15 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
96
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
107
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
118
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
12-
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
13-
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
14-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
15-
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
169
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
1710
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
1811
github.com/wmnsk/go-pfcp v0.0.24 h1:sv4F3U/IphsPUMXMkTJW877CRvXZ1sF5onWHGBvxx/A=
1912
github.com/wmnsk/go-pfcp v0.0.24/go.mod h1:8EUVvOzlz25wkUs9D8STNAs5zGyIo5xEUpHQOUZ/iSg=
20-
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
21-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
22-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
23-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
24-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
13+
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
14+
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
15+
go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ=
16+
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
17+
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
18+
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
2519
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
2620
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

logger/logger.go

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,59 @@
11
// SPDX-FileCopyrightText: 2022-present Intel Corporation
22
//
33
// SPDX-License-Identifier: Apache-2.0
4-
//
54

65
package logger
76

87
import (
9-
"time"
10-
11-
formatter "github.com/antonfisher/nested-logrus-formatter"
12-
"github.com/sirupsen/logrus"
8+
"go.uber.org/zap"
9+
"go.uber.org/zap/zapcore"
1310
)
1411

1512
var (
16-
log *logrus.Logger
17-
AppLog *logrus.Entry
18-
PfcpLog *logrus.Entry
19-
CfgLog *logrus.Entry
13+
log *zap.Logger
14+
AppLog *zap.SugaredLogger
15+
PfcpLog *zap.SugaredLogger
16+
CfgLog *zap.SugaredLogger
17+
atomicLevel zap.AtomicLevel
2018
)
2119

2220
func init() {
23-
log = logrus.New()
24-
log.SetReportCaller(true)
25-
26-
log.Formatter = &formatter.Formatter{
27-
TimestampFormat: time.RFC3339,
28-
TrimMessages: true,
29-
NoFieldsSpace: true,
30-
HideKeys: true,
31-
FieldsOrder: []string{"component", "category"},
21+
atomicLevel = zap.NewAtomicLevelAt(zap.InfoLevel)
22+
config := zap.Config{
23+
Level: atomicLevel,
24+
Development: false,
25+
Encoding: "console",
26+
EncoderConfig: zap.NewProductionEncoderConfig(),
27+
OutputPaths: []string{"stdout"},
28+
ErrorOutputPaths: []string{"stderr"},
3229
}
3330

34-
AppLog = log.WithFields(logrus.Fields{"component": "UADP", "category": "App"})
35-
PfcpLog = log.WithFields(logrus.Fields{"component": "UADP", "category": "Pfcp"})
36-
CfgLog = log.WithFields(logrus.Fields{"component": "UADP", "category": "Config"})
31+
config.EncoderConfig.TimeKey = "timestamp"
32+
config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
33+
config.EncoderConfig.LevelKey = "level"
34+
config.EncoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
35+
config.EncoderConfig.CallerKey = "caller"
36+
config.EncoderConfig.EncodeCaller = zapcore.ShortCallerEncoder
37+
config.EncoderConfig.MessageKey = "message"
38+
config.EncoderConfig.StacktraceKey = ""
39+
40+
var err error
41+
log, err = config.Build()
42+
if err != nil {
43+
panic(err)
44+
}
3745

38-
log.SetLevel(logrus.DebugLevel)
46+
AppLog = log.Sugar().With("component", "UADP", "category", "App")
47+
PfcpLog = log.Sugar().With("component", "UADP", "category", "Pfcp")
48+
CfgLog = log.Sugar().With("component", "UADP", "category", "Config")
3949
}
4050

41-
func SetLogLevel(level logrus.Level) {
42-
log.SetLevel(level)
51+
func GetLogger() *zap.Logger {
52+
return log
4353
}
4454

45-
func SetReportCaller(set bool) {
46-
log.SetReportCaller(set)
55+
// SetLogLevel: set the log level (panic|fatal|error|warn|info|debug)
56+
func SetLogLevel(level zapcore.Level) {
57+
AppLog.Infoln("set log level:", level)
58+
atomicLevel.SetLevel(level)
4759
}

pfcp/udp/transaction.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,32 +84,32 @@ func NewTransaction(pfcpMSG message.Message, binaryMSG []byte, Conn *net.UDPConn
8484
tx.TxType = SendingResponse
8585
tx.ConsumerAddr = DestAddr.String()
8686
}
87-
logger.PfcpLog.Tracef("New Transaction SEQ[%d] DestAddr[%s]", tx.SequenceNumber, DestAddr.String())
87+
logger.PfcpLog.Debugf("new Transaction SEQ[%d] DestAddr[%s]", tx.SequenceNumber, DestAddr.String())
8888
return tx
8989
}
9090

9191
func (transaction *Transaction) Start() error {
92-
logger.PfcpLog.Tracef("Start Transaction [%d]\n", transaction.SequenceNumber)
92+
logger.PfcpLog.Debugf("start Transaction [%d]", transaction.SequenceNumber)
9393

9494
if transaction.TxType == SendingRequest {
9595
for iter := 0; iter < NumOfResend; iter++ {
9696
timer := time.NewTimer(ResendRequestTimeOutPeriod * time.Second)
9797
_, err := transaction.Conn.WriteToUDP(transaction.SendMsg, transaction.DestAddr)
9898
if err != nil {
99-
logger.PfcpLog.Warnf("Request Transaction [%d]: %s\n", transaction.SequenceNumber, err)
99+
logger.PfcpLog.Warnf("request Transaction [%d]: %s", transaction.SequenceNumber, err)
100100
return err
101101
}
102102

103103
select {
104104
case event := <-transaction.EventChannel:
105105

106106
if event == ReceiveValidResponse {
107-
logger.PfcpLog.Tracef("Request Transaction [%d]: receive valid response\n", transaction.SequenceNumber)
107+
logger.PfcpLog.Debugf("request Transaction [%d]: receive valid response", transaction.SequenceNumber)
108108
return nil
109109
}
110110
case <-timer.C:
111-
logger.PfcpLog.Tracef("Request Transaction [%d]: timeout expire\n", transaction.SequenceNumber)
112-
logger.PfcpLog.Tracef("Request Transaction [%d]: Resend packet\n", transaction.SequenceNumber)
111+
logger.PfcpLog.Debugf("request Transaction [%d]: timeout expire", transaction.SequenceNumber)
112+
logger.PfcpLog.Debugf("request Transaction [%d]: Resend packet", transaction.SequenceNumber)
113113
continue
114114
}
115115
}
@@ -121,20 +121,20 @@ func (transaction *Transaction) Start() error {
121121
for iter := 0; iter < NumOfResend; iter++ {
122122
_, err := transaction.Conn.WriteToUDP(transaction.SendMsg, transaction.DestAddr)
123123
if err != nil {
124-
logger.PfcpLog.Warnf("Response Transaction [%d]: sending error\n", transaction.SequenceNumber)
124+
logger.PfcpLog.Warnf("response Transaction [%d]: sending error", transaction.SequenceNumber)
125125
return err
126126
}
127127

128128
select {
129129
case event := <-transaction.EventChannel:
130130

131131
if event == ReceiveResendRequest {
132-
logger.PfcpLog.Tracef("Response Transaction [%d]: receive resend request\n", transaction.SequenceNumber)
133-
logger.PfcpLog.Tracef("Response Transaction [%d]: Resend packet\n", transaction.SequenceNumber)
132+
logger.PfcpLog.Debugf("response Transaction [%d]: receive resend request", transaction.SequenceNumber)
133+
logger.PfcpLog.Debugf("response Transaction [%d]: Resend packet", transaction.SequenceNumber)
134134
continue
135135
}
136136
case <-timer.C:
137-
logger.PfcpLog.Tracef("Response Transaction [%d]: timeout expire\n", transaction.SequenceNumber)
137+
logger.PfcpLog.Debugf("response Transaction [%d]: timeout expire", transaction.SequenceNumber)
138138
return errors.Errorf("response timeout, seq [%d]", transaction.SequenceNumber)
139139
}
140140
}

pfcp/udp/udp.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func SendPfcp(msg message.Message, addr *net.UDPAddr, eventData interface{}) err
115115
tx := NewTransaction(msg, buf, Server.Conn, addr, eventData)
116116
err = PutTransaction(tx)
117117
if err != nil {
118-
logger.PfcpLog.Errorf("Failed to send PFCP message: %v", err)
118+
logger.PfcpLog.Errorf("failed to send PFCP message: %v", err)
119119
return err
120120
}
121121
go startTxLifeCycle(tx)
@@ -209,14 +209,14 @@ func Run(Dispatch func(message.Message)) {
209209
}
210210
conn, err := net.ListenUDP("udp", addr)
211211
if err != nil {
212-
logger.PfcpLog.Errorf("Failed to listen on %s: %v", addr.String(), err)
212+
logger.PfcpLog.Errorf("failed to listen on %s: %v", addr.String(), err)
213213
return
214214
}
215215
Server = &PfcpServer{
216216
Addr: addr,
217217
Conn: conn,
218218
}
219-
logger.PfcpLog.Infof("Listen on %s", addr.String())
219+
logger.PfcpLog.Infof("listen on %s", addr.String())
220220

221221
go func() {
222222
for {
@@ -225,7 +225,7 @@ func Run(Dispatch func(message.Message)) {
225225
if err.Error() == "Receive resend PFCP request" {
226226
logger.PfcpLog.Infoln(err)
227227
} else {
228-
logger.PfcpLog.Warnf("Read PFCP error: %v", err)
228+
logger.PfcpLog.Warnf("read PFCP error: %v", err)
229229
}
230230
continue
231231
}
@@ -246,9 +246,9 @@ func removeTransaction(tx *Transaction) error {
246246
if txTmp, exist := txTable.Load(tx.SequenceNumber); exist {
247247
tx = txTmp
248248
if tx.TxType == SendingRequest {
249-
logger.PfcpLog.Debugf("Remove Request Transaction [%d]\n", tx.SequenceNumber)
249+
logger.PfcpLog.Debugf("remove request transaction [%d]", tx.SequenceNumber)
250250
} else if tx.TxType == SendingResponse {
251-
logger.PfcpLog.Debugf("Remove Response Transaction [%d]\n", tx.SequenceNumber)
251+
logger.PfcpLog.Debugf("remove response transaction [%d]", tx.SequenceNumber)
252252
}
253253

254254
txTable.Delete(tx.SequenceNumber)

upfadapter.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
func handler(w http.ResponseWriter, req *http.Request) {
2222
reqBody, err := io.ReadAll(req.Body)
2323
if err != nil {
24-
logger.AppLog.Errorf("server: could not read request body: %s\n", err)
24+
logger.AppLog.Errorf("server: could not read request body: %s", err)
2525
http.Error(w, err.Error(), http.StatusInternalServerError)
2626
}
2727

@@ -39,7 +39,7 @@ func handler(w http.ResponseWriter, req *http.Request) {
3939
return
4040
}
4141

42-
logger.AppLog.Debugf("\n received msg type [%v], upf nodeId [%s], smfIp [%v], msg [%v]",
42+
logger.AppLog.Debugf("received msg type [%v], upf nodeId [%s], smfIp [%v], msg [%v]",
4343
pfcpMessage.MessageType(), udpPodMsg.UpNodeID.NodeIdValue, udpPodMsg.SmfIp, udpPodMsg.Msg)
4444

4545
pfcpJsonRsp, err := pfcp.ForwardPfcpMsgToUpf(pfcpMessage, udpPodMsg.UpNodeID)

0 commit comments

Comments
 (0)