Cómo utilizar el registro personalizado en C#
El registro personalizado se refiere a la práctica de implementar un sistema de registro adaptado a las necesidades y requisitos específicos de una aplicación o sistema. Consiste en crear y utilizar archivos de registro para registrar información, eventos y mensajes generados por el software durante su funcionamiento.
Cómo utilizar el registro personalizado en C#
- Descargar la biblioteca C# para el registro personalizado
- Fije el LoggingMode a LoggingModes.Custom
- Asignar el Registrador personalizado a su objeto logger personalizado
- Todos los mensajes de registro se reenviarán al registrador personalizado
- Salida de los mensajes de registro para ver los registros
Instalar con NuGet
Install-Package IronPdf
Descargar DLL
Instalar manualmente en su proyecto
Instalar con NuGet
Install-Package IronPdf
Descargar DLL
Instalar manualmente en su proyecto
Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.
Echa un vistazo IronPDF en Nuget para una instalación y despliegue rápidos. Con más de 8 millones de descargas, está transformando PDF con C#.
Install-Package IronPdf
Considere instalar el IronPDF DLL directamente. Descárguelo e instálelo manualmente para su proyecto o forma GAC: IronPdf.zip
Instalar manualmente en su proyecto
Descargar DLLEjemplo de registro personalizado
Para utilizar la función de registro personalizado, cambie la propiedad LoggingMode a LoggingModes.Custom. Después, asigna la propiedad CustomLogger a la clase de logger personalizado que has creado.
: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");
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom
IronSoftware.Logger.CustomLogger = New CustomLoggerClass("logging")
Los registros de IronPdf se dirigirán al objeto logger personalizado. Los mensajes seguirán siendo idénticos a los del registrador IronPdf; simplemente se transmitirán al registrador personalizado. La forma en que el registrador personalizado gestiona los mensajes será determinada por el diseñador del registrador personalizado. Usemos la siguiente clase de logger personalizado como ejemplo.
: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}");
}
}
Public Class CustomLoggerClass
Implements ILogger
Private ReadOnly categoryName As String
Public Sub New(ByVal categoryName As String)
Me.categoryName = categoryName
End Sub
Public Function BeginScope(Of TState)(ByVal state As TState) As IDisposable
Return Nothing
End Function
Public Function IsEnabled(ByVal logLevel As LogLevel) As Boolean
Return True
End Function
Public Sub Log(Of TState)(ByVal logLevel As LogLevel, ByVal eventId As EventId, ByVal state As TState, ByVal exception As Exception, ByVal formatter As Func(Of TState, Exception, String))
If Not IsEnabled(logLevel) Then
Return
End If
' Implement your custom logging logic here.
Dim logMessage As String = 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}")
End Sub
End Class
En este caso, he antepuesto información adicional a los mensajes de registro.