Comment utiliser la journalisation personnalisée dans C# ;
La journalisation personnalisée consiste à mettre en œuvre un système de journalisation adapté aux besoins et aux exigences spécifiques d'une application ou d'un système. Il s'agit de créer et d'utiliser des fichiers journaux pour enregistrer les informations, les événements et les messages générés par le logiciel au cours de son fonctionnement.
Commencez avec IronPDF
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Comment utiliser la journalisation personnalisée en C#
- Télécharger IronPDF depuis NuGet
- Définissez la propriété LoggingMode sur LoggingModes.Custom
- Attribuez la propriété CustomLogger à votre objet de journalisation personnalisé
- Tous les messages d'enregistrement seront transmis à l'enregistreur personnalisé
- Éditer les messages du journal pour visualiser les journaux
Exemple d'enregistrement personnalisé
Pour utiliser la fonction de journalisation personnalisée, changez la propriété LoggingMode en LoggingModes.Custom. Ensuite, assignez la propriété CustomLogger à la classe de journalisation personnalisée que vous avez créée.
:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging.cs
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");
Les journaux d'IronPDF seront dirigés vers l'objet logger personnalisé. Les messages resteront identiques à ceux du logger IronPDF ; ils seront simplement transmis à l'enregistreur personnalisé. La manière dont l'enregistreur personnalisé gère les messages est déterminée par le concepteur de l'enregistreur personnalisé. Prenons l'exemple de la classe de logger personnalisée suivante.
:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging-class.cs
public class CustomLoggerClass : ILogger
{
private readonly string categoryName;
public CustomLoggerClass(string categoryName)
{
this.categoryName = categoryName;
}
public IDisposable BeginScope<TState>(TState state)
{
return null;
}
public bool IsEnabled(LogLevel logLevel)
{
return true;
}
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
if (!IsEnabled(logLevel))
{
return;
}
// Implement your custom logging logic here.
string logMessage = formatter(state, exception);
// You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
// For example, you can write it to a file, console, or another destination.
// Example: Writing to the console
Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}");
}
}
Dans ce cas, j'ai fait précéder les messages du journal d'informations supplémentaires.
