.net 6 Ilogger To File

5 min read Jun 03, 2024
.net 6 Ilogger To File

Enregistrer les logs dans un fichier avec ILogger dans .NET 6

Le système de journalisation intégré de .NET 6 offre une grande flexibilité pour enregistrer des informations sur l'exécution de votre application. L'un des scénarios les plus courants consiste à enregistrer les logs dans un fichier texte, ce qui permet une analyse ultérieure ou un débogage. Dans cet article, nous allons explorer comment utiliser ILogger pour écrire des logs dans un fichier dans votre application .NET 6.

Configuration de la journalisation dans votre application

Avant de pouvoir enregistrer des logs dans un fichier, vous devez configurer le système de journalisation. Vous pouvez le faire dans votre fichier Program.cs en utilisant la méthode UseSerilog :

using Serilog;
using Serilog.Formatting.Json;

var builder = WebApplication.CreateBuilder(args);

// Configurez le journalisation avec Serilog
builder.Host.UseSerilog((hostingContext, loggerConfiguration) =>
{
    loggerConfiguration
        .WriteTo.File("logs/application.log", rollingInterval: RollingInterval.Day, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}");
});

var app = builder.Build();

Ce code configure Serilog pour écrire des logs dans un fichier nommé application.log dans un répertoire nommé logs. Le rollingInterval indique que de nouveaux fichiers journaux sont créés quotidiennement. L'option outputTemplate spécifie le format de chaque entrée de journal, incluant la date, l'heure, le niveau de gravité, le message et l'exception (si applicable).

Utilisation d'ILogger pour écrire des logs

Une fois que le système de journalisation est configuré, vous pouvez utiliser l'interface ILogger pour écrire des logs dans votre application. ILogger est disponible dans tous les contrôleurs, services et autres classes de votre application.

Voici un exemple de la façon d'utiliser ILogger pour écrire un message d'information :

using Microsoft.Extensions.Logging;

public class MyService
{
    private readonly ILogger _logger;

    public MyService(ILogger logger)
    {
        _logger = logger;
    }

    public void DoSomething()
    {
        _logger.LogInformation("Opération terminée avec succès.");
    }
}

Dans cet exemple, le service MyService injecte une instance d' ILogger<MyService> dans son constructeur. Le type de paramètre ILogger<MyService> garantit que l'instance ILogger est spécifique à la classe MyService. Ensuite, la méthode LogInformation est utilisée pour écrire un message d'information dans le fichier journal.

Niveaux de journalisation

ILogger propose plusieurs méthodes pour écrire des logs à différents niveaux de gravité :

  • LogTrace: Pour des messages de débogage très détaillés.
  • LogDebug: Pour des messages de débogage.
  • LogInformation: Pour des messages informatifs sur l'état de l'application.
  • LogWarning: Pour des messages d'avertissement indiquant des problèmes potentiels.
  • LogError: Pour des erreurs qui ne sont pas critiques et ne provoquent pas l'arrêt de l'application.
  • LogCritical: Pour des erreurs critiques qui provoquent l'arrêt de l'application.

Conclusion

En utilisant ILogger et Serilog, vous pouvez facilement enregistrer des logs dans un fichier dans votre application .NET 6. Le système de journalisation flexible vous permet de personnaliser le format, le niveau de gravité et le lieu de stockage des logs. Cela vous permet de suivre l'activité de votre application, de déboguer des problèmes et d'améliorer la fiabilité globale de votre application.

Related Post