Evelyn Carter's Notes

Arrêtez d'utiliser Logrus !

Création: 2024-09-03

Création: 2024-09-03 17:32

Logrus a longtemps été un choix populaire pour la journalisation dans les applications Go, mais à mesure que le paysage des bibliothèques de journalisation évolue, il est temps de reconsidérer sa place dans vos projets. Dans cet article, je vais énumérer plusieurs raisons pour lesquelles vous devriez arrêter d'utiliser Logrus et présenter de meilleures alternatives qui peuvent améliorer votre expérience de journalisation.

Les performances sont médiocres

L'une des principales raisons pour lesquelles je me suis détourné de Logrus est ses performances. Bien qu'il offre une variété de fonctionnalités, les frais généraux qu'il introduit peuvent être importants, en particulier dans les applications à fort débit.

Logrus génère de nouvelles maps pour chaque opération de journalisation, ce qui est extrêmement mauvais en termes de performances. C'est quelque chose qui ne devrait jamais être fait, et en fait, une seule bibliothèque de journalisation peut considérablement dégrader les performances de l'application.

Manque de maintenance active

Un autre inconvénient majeur de Logrus est qu'il n'est pas activement maintenu. Bien qu'il ait été un choix populaire pour la journalisation dans les applications Go, le rythme du développement a ralenti, ce qui soulève des inquiétudes quant à sa viabilité à long terme.

Que devrais-je utiliser à la place ?

Si vous envisagez de vous détourner de Logrus, je vous recommande vivement d'utiliser Zerolog. Elle se distingue comme l'une des bibliothèques de journalisation les plus rapides en Go, ce qui en fait un excellent choix pour les développeurs soucieux des performances.

Zerolog possède une conception d'API très ergonomique qui permet une intégration facile dans vos applications sans la complexité souvent associée aux bibliothèques de journalisation. Sa syntaxe simple permet d'implémenter facilement la journalisation structurée, vous permettant ainsi de journaliser facilement des informations contextuelles riches.

L'une des fonctionnalités remarquables de Zerolog est sa journalisation sans allocation. Cela signifie qu'elle n'alloue pas de mémoire pendant les opérations de journalisation sur les chemins chauds, ce qui est crucial pour les applications hautes performances. En réduisant la pression sur le ramasse-miettes, Zerolog contribue à maintenir la réactivité de votre application même sous une forte charge de journalisation.

Non seulement elle est performante, mais elle est également très facile à utiliser et hautement extensible, vous permettant de l'adapter à vos besoins spécifiques de journalisation.

Commentaires0