Fiche technique | |
---|---|
Type de produit : | Bibliothèque |
Catégorie : | Journalisation |
Langage de programmation : | C# |
Auteur : | Serilog Contributors |
Licence : | Apache License, Version 2.0 |
Date de publication : | 2013 à maintenant |
Site Web : | https://serilog.net/ |
Introduction
Le Serilog est une bibliothèque de journalisation de diagnostic pour les applications .NET. Il est facile à configurer, possède une API propre et fonctionne sur toutes les plates-formes .NET récentes. Bien qu'il soit utile même dans les applications les plus simples, le support de Serilog pour la journalisation structurée brille lors de l'instrumentation d'applications et de systèmes complexes, distribués et désynchronisées.
Comme de nombreuses autres bibliothèques pour .NET, Serilog fournit une journalisation de diagnostic dans les fichiers, la console et ailleurs. Il est facile à configurer, possède une API propre et est portable entre les plates-formes .NET récentes.
Contrairement à d'autres bibliothèques de journalisation, Serilog est conçu avec de puissantes données d'événements structurées à l'esprit.
- Syntaxe basée sur les objets : Serilog utilise une syntaxe fluide et basée sur les objets, ce qui facilite la configuration et la gestion des journaux dans le code.
- Structuration des journaux de bord : Contrairement aux bibliothèques de journalisation traditionnelles générant des messages texte, Serilog permet de créer des journaux structurés. Cela signifie que les données sont capturées sous forme de propriétés nommées, ce qui facilite leur recherche et leur analyse.
- Sinks : Serilog permet d'envoyer les journaux vers différents "sinks" (sorties), comme la console, des fichiers, des bases de données, des systèmes de gestion de journaux de bords centralisés (exemple : Elasticsearch, Splunk), des services infonuagiques,.... Il existe une large variété de sinks disponibles, souvent sous forme de paquets NuGet.
- Flexibilité dans le formatage : Serilog offre une grande flexibilité dans le formatage des messages de journal, que ce soit en texte brut, en JSON, ou dans d'autres formats.
- Filtrage des journaux : Serilog permet d'appliquer des filtres sophistiqués pour contrôler quels événements sont journalisés. Vous pouvez filtrer par niveau de journal de bord (exemple : Information, Warning, Error), par source, ou même par propriétés spécifiques des événements.
- Support pour la journalisation désynchronisé : Serilog supporte la journalisation désynchronisée, ce qui peut améliorer les performances en ne bloquant pas le processus léger principal lors de l'écriture des journaux de bord.
- Enrichissement des journaux : Serilog permet d'enrichir les événements de journalisation avec des informations supplémentaires, comme des propriétés personnalisées ou des données de contexte (exemple : identificateurs de session, détails de requête HTTP).
- Intégration facile avec .NET : Serilog s'intègre bien avec les applications .NET, y compris ASP.NET Core. Il peut remplacer ou compléter les systèmes de journalisation existants comme Microsoft.Extensions.Logging.
- Support des niveaux de journalisation : Serilog prend en charge les niveaux de journal de bord standard comme Debug, Information, Warning, Error, et Fatal, permettant de catégoriser les messages en fonction de leur gravité.
- Extensibilité : Serilog est extensible, ce qui permet aux développeurs de créer leurs propres sinks, enrichisseurs ou formateurs si les options existantes ne répondent pas à leurs besoins.
Concurrent
Les concurrents de Serilog sont NLog, log4net, Elmah,...