87 lines
2.4 KiB
Go
87 lines
2.4 KiB
Go
package logging
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"git.espin.casa/albert/cml04-gdm-int/pkg/api"
|
|
"git.espin.casa/albert/cml04-l2-rsm-out/internal/service"
|
|
"git.espin.casa/albert/logger"
|
|
)
|
|
|
|
type LoggingService struct {
|
|
log logger.LoggerAdapter
|
|
next service.IService
|
|
}
|
|
|
|
// SendEdRollData implements service.IService.
|
|
func (svc *LoggingService) SendEdRollData(ctx context.Context, rollData *api.EdRollData) (err error) {
|
|
defer func(start time.Time) {
|
|
logFields := logger.LogFields{
|
|
"took": time.Since(start),
|
|
"ed_roll_id": rollData.GetEdRollId(),
|
|
}
|
|
if err != nil {
|
|
svc.log.Error("Send level 2 ED roll data failed", err, logFields)
|
|
} else {
|
|
svc.log.Info("Send level 2 ED roll success", logFields)
|
|
}
|
|
}(time.Now())
|
|
return svc.next.SendEdRollData(ctx, rollData)
|
|
}
|
|
|
|
// SendUfRollData implements service.IService.
|
|
func (svc *LoggingService) SendUfRollData(ctx context.Context, rollData *api.UfRollData) (err error) {
|
|
defer func(start time.Time) {
|
|
logFields := logger.LogFields{
|
|
"took": time.Since(start),
|
|
"uf_roll_id": rollData.GetUfRollId(),
|
|
}
|
|
if err != nil {
|
|
svc.log.Error("Send level 2 UF roll data failed", err, logFields)
|
|
} else {
|
|
svc.log.Info("Send level 2 UF roll success", logFields)
|
|
}
|
|
}(time.Now())
|
|
return svc.next.SendUfRollData(ctx, rollData)
|
|
}
|
|
|
|
// SendUrRollData implements service.IService.
|
|
func (svc *LoggingService) SendUrRollData(ctx context.Context, rollData *api.UrRollData) (err error) {
|
|
defer func(start time.Time) {
|
|
logFields := logger.LogFields{
|
|
"took": time.Since(start),
|
|
"ur_roll_id": rollData.GetUrRollId(),
|
|
}
|
|
if err != nil {
|
|
svc.log.Error("Send level 2 UR roll data failed", err, logFields)
|
|
} else {
|
|
svc.log.Info("Send level 2 UR roll success", logFields)
|
|
}
|
|
}(time.Now())
|
|
return svc.next.SendUrRollData(ctx, rollData)
|
|
}
|
|
|
|
// SendBdRollData implements service.IService.
|
|
func (svc *LoggingService) SendBdRollData(ctx context.Context, rollData *api.BdRollData) (err error) {
|
|
defer func(start time.Time) {
|
|
logFields := logger.LogFields{
|
|
"took": time.Since(start),
|
|
"bd_roll_id": rollData.GetBdRollId(),
|
|
}
|
|
if err != nil {
|
|
svc.log.Error("Send level 2 BD roll data failed", err, logFields)
|
|
} else {
|
|
svc.log.Info("Send level 2 BD roll success", logFields)
|
|
}
|
|
}(time.Now())
|
|
return svc.next.SendBdRollData(ctx, rollData)
|
|
}
|
|
|
|
func NewLogginService(log logger.LoggerAdapter, svc service.IService) service.IService {
|
|
return &LoggingService{
|
|
log: log,
|
|
next: svc,
|
|
}
|
|
}
|