cml04-falcon-system/injector/logging/logging.go

39 lines
917 B
Go
Raw Normal View History

2024-10-04 09:38:25 +02:00
package logging
import (
"context"
"time"
"git.espin.casa/albert/cml04-falcon-system/injector/service"
"git.espin.casa/albert/cml04-falcon-system/injector/types"
"git.espin.casa/albert/logger"
)
type LoggingService struct {
log logger.LoggerAdapter
next service.IService
}
// Bundle implements service.IService.
func (l *LoggingService) Bundle(ctx context.Context, req *types.PostBundleReq) (res *types.PostBundleRes, err error) {
defer func(start time.Time) {
logFields := logger.LogFields{
"took": time.Since(start),
2024-10-04 11:51:55 +02:00
"bundle_id": req.BundleData.Nromatricula,
2024-10-04 09:38:25 +02:00
}
if err != nil {
2024-10-04 11:51:55 +02:00
l.log.Error("post bundle data failed", err, logFields)
2024-10-04 09:38:25 +02:00
} else {
2024-10-04 11:51:55 +02:00
l.log.Info("post bundle data success", logFields)
2024-10-04 09:38:25 +02:00
}
}(time.Now())
return l.next.Bundle(ctx, req)
}
func New(log logger.LoggerAdapter, svc service.IService) service.IService {
return &LoggingService{
log: log,
next: svc,
}
}