La journalisation est une technique appréciée par tous les développeurs. Elle permet de voir ce que le programme a réussi, mais aussi d'avoir des détails sur ce qui n'a pas marché. Généralement, la journalisation se fait dans un fichier, mais peut se faire aussi sur la sortie standard. Google propose sa propre solution au problème glog. Voici ce qu'écrit glog dans le terminal :

Code : | Sélectionner tout |
LOG(INFO) << "Mon super message de log du jour";
Ainsi, Loguru a été développé.

Loguru est une bibliothèque sous la forme d'un simple fichier d'entête. Pas de bibliothèque à lier au projet cette fois-ci. Par rapport à glog, les journaux sont plus faciles à lire grâce à l'utilisation d'un affichage en colonne et contiennent la date. De plus, il est possible d'indenter les messages dans le journal, notamment pour délimiter des segments.
Code : | Sélectionner tout |
LOG_SCOPE_F(INFO, "Iteration %d", i);
Avec Loguru, il est possible de :
- faire une journalisation dans plusieurs fichiers et avoir un fichier qui rassemble tous les journaux ;
- utiliser des callbacks permettant, par exemple, d'afficher les messages dans un jeu ;
- choisir entre une syntaxe à la printf() ou en flux ;
- analyser les journaux avec grep.
Le développeur de la bibliothèque estime que Loguru est plus rapide que glog, tout en écrivant chaque message dans sa destination (pour éviter de perdre un message à cause d'un crash).
Loguru peut faire tout ce que fait glog et peut même reprendre la même syntaxe que celle proposée par la bibliothèque de Google. Ainsi, la migration est fortement simplifiée.
Finalement, Loguru est dans le domaine public. Vous pouvez trouver le code sur GitHub.
Votre opinion

Source
Blog de présentation de Loguru
Vous avez lu gratuitement 7 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.