Jump to content
Sign in to follow this  
brice.wernet

Format de log "human readable"

Recommended Posts

Bonjour,

 

Je cherche un format de données pour logger des infos. Le but est de conserver le sens de ces infos et une "atomicité". Les infos ont un schéma général avec des métadonnées communes et un corps plus ou moins complexe.

Le fichier produit doit être inscriptible à la volée (donc sans balise de fin)

Le XML et le JSON sont intéressants à priori mais il nécessitent de "fermer" le fichier par une balise ou une accolade fermante et englobante.

Exemple XML correct par rapport à la norme:

<logs>
  <log date="..." source="..." type="...">
    ...
  </log>
  <log date="..." source = "..." type = "...">
    ...
  </log>
</logs>

Le </logs> final m'ennuie... Cela signifie que pour ajouter des éléments, je dois réécrire TOUT le fichier.

Une suggestion?

Merci

Share this post


Link to post
Share on other sites

Ach, intéressant - mais peut-être problématique avec du texte sur plusieurs ligne. Mais à creuser...

Share this post


Link to post
Share on other sites
Posted (edited)

Json par ligne et non un json global dans le fichier (cela devient la norme pour gérer les logs multilignes telles que les exceptions-stack). Si tu veux vraiment faire une analyse à postériori il suffit de rajouter { et } en début et fin de document.

Exemple piqué de winston (lib nodejs) https://github.com/winstonjs/winston#formats
Sans oublier la possibilité de raccourci les nom des champs (level -> lvl, message -> msg, label -> lbl, timestamp -> ts) pour économiser du char

{ level: 'info',message: 'What time is the testing at?', label: 'right meow!',timestamp: '2017-09-30T03:57:26.875Z' }
Edited by Sheepux

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...