Comment faire des Logs dans ASP.NET Core C#

Cela fait cent fois que l'on parle de log nous avons résolut le problème avec Log4Net pendant deux bonnes décennies mais c'est comme tout, les choses changent. Alors aujourd'hui ce qui est le mieux intégré à ASP.NET Core c'est Serilog.

Qu'à cela ne tienne, allons y rapidement, pour faire des Logs dans mon Projet ASP.NET Core avec Serilog le plus simplement du monde.

Il faut installer les packages suivants :

NuGet Packages  pour Serilog avec ASP.NET C#

C'est bon de la noter car maintenant chaque fois que j'instancie un nouveau projet, je me vois obligé de copier ces quelques lignes dans mon nouveau projet tellement c'est simple et efficace.

Dans mon fichier Startup.cs
J'écris le code de la fonction suivante :

private void ConfigureLoggerFactory( ILoggerFactory loggerFactory )
{
    string date = DateTime.Now.ToString();
    date = date.Replace( "/", "" );
    date = date.Replace( " ", "_" );
    date = date.Replace( ":", "-" );
    string logfileName = $"Log/log_{date}.txt";

    var serilog = new LoggerConfiguration()
        .MinimumLevel.Verbose()
        .Enrich.FromLogContext()
        .WriteTo.File( logfileName );


    loggerFactory.WithFilter( new FilterLoggerSettings
     {
         { "IdentityServer4", LogLevel.Debug },
         { "Microsoft", LogLevel.Warning },
         { "System", LogLevel.Warning },
     } ).AddSerilog( serilog.CreateLogger() );
}


Que j'appelle dans la fonction Configure de la façon suivante :

public void Configure( IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory )

ConfigureLoggerFactory( loggerFactory );

Voilà, l'intérêt de faire ainsi, c'est que l'on récupère des logs en provenance des modules System, Microsoft, et IdentityServer4.

N'oubliez pas de consulter :

C#.NET - Serilog Log Not Working

Pour savoir comment configurer les Logs.

CQFD

Aucun commentaire:

Enregistrer un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.