elastic / elastic/ecs-logging-java
Write SequenceNumber in jboss-logmanager-ecs-formatter
- Langage dominant
- Java
- Étoiles
- 148
- Forks
- 82
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 3
Description
Hi,
because the "@timestamp" fields in ECS logging only support millisecond-precision, a sequence number is needed to keep the order of events. Adding this sequence number in FileBeat does not seem possible - only workarounds exist which include disabling multithreading (see https://discuss.elastic.co/t/sequence-number-for-ecs-events-received-by-tcp/291348 ).
Thus, the ECS formatter should add the sequence number ( https://www.elastic.co/guide/en/ecs/current/ecs-event.html#field-event-sequence ).
In case of the `co.elastic.logging.jboss.logmanager.EcsFormatter` this should be trivial as the `ExtLogRecord` from which the JSON is built already includes a method `getSequenceNumber`.
Adding the sequence number would solve a range of other issues regarding to log event order.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par co.elastic.logging.jboss.logmanager.EcsFormatter et suivez la manière dont ExtLogRecord est converti en JSON. Vérifiez la définition du champ ECS event.sequence ainsi que la couverture de tests existante du formatter, que l’issue ne mentionne pas. Le travail est terminé lorsque la sortie du formatter inclut le numéro de séquence du record dans la structure d’événement ECS.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- observability-sre
- Type d'issue
- Fonctionnalité
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 55/100