WIP:[POC] adding a logger on every event
Résumé
Mise en place d'un proof of concept sur les logs dans les moteurs Go avec :
- *Renommage du
logger
enrootLogger
- Création d'un logger spécifique à un événement avec un contexte spécifique
Issue: #53 (moved)
Related merge requests : https://git.canopsis.net/canopsis/go-revolution/merge_requests/197
Notes
J'ajoute dans le type Event
un champ Logger
qui est un zerolog.Logger
. Ce logge est créé quand on charge cet event à partir de la queue dans InfluxDB.
func (e *EngineAxe) WorkerProcess(msg amqp.Delivery) {
zl.Debug().Msgf("input: %s", string(msg.Body))
var event types.Event
err := e.References.JSONDecoder.Decode(msg.Body, &event)
if e.processWorkerError(err, msg) != nil {
return
}
context := map[string]interface{}{
"eid": event.GetEID(),
}
event.Logger = zl.NewLoggerWithContext(context)
event.Logger.Info().Msgf("unmarshaled: %+v", event)
...
}
Edited by Alexandre Moevi