Cómo usar logging personalizado en C#

Cómo utilizar el registro personalizado en C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

El registro personalizado en C# permite implementar un sistema de registro a medida que captura eventos y mensajes específicos de la aplicación. Con IronPDF, puede redirigir todos los registros de procesamiento de PDF a su registrador personalizado configurando LoggingMode a Custom y asignando su implementación de registrador. Esta función le permite integrar la salida de registro detallada de IronPDF con su infraestructura de registro existente, tanto si utiliza NLog, Serilog, log4net o una solución personalizada.

<Descripción: Diagrama o captura de pantalla que ilustre el concepto de código -->

El registro personalizado es útil cuando se necesita centralizar registros de varios componentes, aplicar formatos personalizados, filtrar por niveles de gravedad o enviar registros a destinos específicos como archivos, bases de datos o servicios de supervisión. Al implementar el registro personalizado con IronPDF, obtendrá un control total sobre cómo se rastrean los eventos de generación y procesamiento de PDF en su aplicación.

Inicio rápido: Implementar Logging Personalizado con IronPDF

Comience con el registro personalizado en C# utilizando IronPDF. Esta guía muestra cómo establecer el LoggingMode en Custom y enlazarlo con tu clase logger. Dirija los mensajes de IronPDF a su registrador personalizado para supervisar y gestionar los registros de las aplicaciones. La configuración es sencilla y mejora las capacidades de registro de su aplicación. Para obtener una visión general de las características de IronPDF, consulte nuestra Guía de inicio rápido.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronPDF con el gestor de paquetes NuGet

    PM > Install-Package IronPdf

  2. Copie y ejecute este fragmento de código.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


¿Cómo implementar un ejemplo de registro personalizado?

Para utilizar el registro personalizado, cambie la propiedad LoggingMode a LoggingModes.Custom. A continuación, asigne la propiedad CustomLogger a su clase de registrador personalizado. Esto proporciona flexibilidad para la integración con diversos marcos de registro y mantiene patrones de registro coherentes en toda la aplicación.

La aplicación requiere una configuración mínima. Una vez configuradas, todas las operaciones de IronPDF, incluida la conversión de HTML a PDF, la manipulación de PDF y la renderización, envían automáticamente sus mensajes de registro a través de su registrador personalizado. Esta integración garantiza la captura de información crítica sobre las operaciones de procesamiento de PDF.

¿Por qué debería utilizar el registro personalizado con IronPDF?

: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")
$vbLabelText   $csharpLabel

Los registros de IronPDF se dirigirán al objeto logger personalizado. Los mensajes deben ser idénticos a los del registrador IronPDF; se transmiten al registrador personalizado. La implementación del registrador personalizado determina cómo gestionar los mensajes. Considere el siguiente ejemplo de clase de registrador personalizado.

El registro personalizado ofrece varias ventajas para las aplicaciones de producción:

  • Gestión centralizada de registros: Integre los registros de IronPDF con su infraestructura de registro existente
  • Depuración mejorada: Captura información detallada sobre las operaciones de PDF para la solución de problemas
  • Monitorización del rendimiento: seguimiento de los tiempos de renderización y del uso de recursos
  • Rastreo de errores: Captura e informa automáticamente de los fallos en la generación de PDF
  • Cumplimiento: Mantener registros de auditoría para la generación de documentos en sectores regulados

Para las aplicaciones que requieren procesamiento asíncrono, el registro personalizado ayuda a realizar un seguimiento de las operaciones de PDF concurrentes y a identificar posibles cuellos de botella.

¿Qué aspecto tiene una clase de registro personalizada?

: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
$vbLabelText   $csharpLabel

Esta implementación sigue la interfaz estándar Microsoft.Extensions.Logging.ILogger, por lo que es compatible con el ecosistema de registro de .NET. La clase de registrador incluye:

  • Nombre de la categoría: ayuda a identificar el origen de los mensajes de registro
  • Filtrado de niveles de registro: Controla qué niveles de gravedad capturar
  • Salida flexible: Dirija los registros a cualquier destino (consola, archivo, base de datos, etc.)
  • Manejo de excepciones: Formatear y registrar correctamente los detalles de las excepciones
  • Gestión de estados: compatibilidad con el registro estructurado con BeginScope

Para escenarios avanzados, explore opciones de renderizado que afectan a la salida de registro, especialmente cuando se trata de conversiones HTML complejas o cuando se trabaja con el motor de renderizado Chrome.

¿Qué aspecto tiene la salida de registro personalizada?

En este ejemplo, los mensajes de registro van precedidos de información adicional.

La consola del depurador de Visual Studio muestra los registros de despliegue de IronPDF con la inicialización del cliente de Chrome y la carga de la biblioteca related to ¿Qué aspecto tiene la salida de registro personalizada?

La salida de la consola demuestra cómo el registro personalizado proporciona información detallada sobre las operaciones internas de IronPDF. Se puede ver:

  • Pasos de inicialización del cliente Chrome
  • Creación de candidatos a la implantación
  • Secuencias de carga de bibliotecas nativas
  • Confirmaciones de despliegue de componentes con éxito

Este nivel de detalle es inestimable a la hora de depurar problemas de generación de PDF u optimizar el rendimiento. El formato estructurado facilita el análisis sintáctico de los registros mediante programación o su integración con herramientas de análisis de registros.

Mejores prácticas para la implementación de registros personalizados

Al implementar el registro personalizado con IronPDF, tenga en cuenta estas prácticas recomendadas:

  1. Utilice niveles de registro adecuados: Configure su registrador para capturar el nivel de detalle adecuado sin saturar el almacenamiento de registros
  2. Incluir información contextual: Añada ID de solicitud, información de usuario o detalles de transacción para correlacionar las operaciones de PDF
  3. Maneja datos confidenciales: Asegúrate de que tu registrador no expone información confidencial del contenido de los PDF
  4. Monitorizar el rendimiento: realizar un seguimiento de los tiempos de generación de PDF para identificar oportunidades de optimización
  5. Configurar alertas: Configurar notificaciones para errores críticos o degradación del rendimiento

Para las implantaciones de producción, especialmente cuando se utilizan claves de licencia, un registro adecuado garantiza operaciones fluidas y una rápida resolución de problemas.

Solución de problemas comunes de registro

Si tiene problemas con el registro personalizado:

  • Compruebe que su registrador implementa correctamente la interfaz ILogger
  • Compruebe que LoggingMode está configurado antes de realizar cualquier operación con IronPDF
  • Asegúrese de que su registrador es seguro para operaciones concurrentes
  • Revisar los permisos de registro si se escribe en archivos o sistemas externos

Para obtener recursos adicionales de solución de problemas, consulte nuestra guía de solución de problemas o explore la Referencia API para obtener documentación detallada sobre las propiedades y métodos de registro.

¿Listo para ver qué más puedes hacer? Consulta nuestra página de tutoriales aquí: Características adicionales

Preguntas Frecuentes

¿Qué es el registro personalizado en C# y cómo funciona con el procesamiento de PDF?

El registro personalizado en C# con IronPDF le permite implementar un sistema de registro personalizado que captura los eventos y mensajes de procesamiento de PDF. Al establecer LoggingMode en Custom y asignar su implementación de registro, IronPDF redirige todos los registros de generación y manipulación de PDF a su registro personalizado, lo que permite la integración con la infraestructura de registro existente como NLog, Serilog o log4net.

¿Cómo puedo activar el registro personalizado para operaciones PDF?

Para habilitar el registro personalizado con IronPDF, establezca IronSoftware.Logger.LoggingMode en LoggingModes.Custom y asigne su clase de registro personalizado a IronSoftware.Logger.CustomLogger. Una vez configurado, todas las operaciones IronPDF incluyendo la conversión de HTML a PDF y la manipulación de PDF enviarán automáticamente sus mensajes de registro a través de su registrador personalizado.

¿Cuáles son las ventajas de implementar un registro personalizado para la generación de PDF?

El registro personalizado con IronPDF proporciona un control completo sobre el seguimiento de los eventos de procesamiento de PDF. Le permite centralizar registros de varios componentes, aplicar formatos personalizados, filtrar por niveles de gravedad y enrutar registros a destinos específicos como archivos, bases de datos o servicios de supervisión, mejorando las capacidades de registro de su aplicación.

¿Puedo integrar los registros de procesamiento de PDF con los marcos de registro existentes?

Sí, la función de registro personalizado de IronPDF se integra perfectamente con los marcos de registro más populares, incluidos NLog, Serilog, log4net o cualquier solución de registro personalizada. Esto garantiza patrones de registro coherentes en toda la aplicación a la vez que captura información crítica sobre las operaciones de procesamiento de PDF.

¿Cuál es el flujo de trabajo mínimo para implementar el registro personalizado?

El flujo de trabajo mínimo consta de 5 pasos: Descargue IronPDF de NuGet, establezca LoggingMode en LoggingModes.Custom, asigne CustomLogger a su objeto logger personalizado y todos los mensajes de registro se reenviarán a su logger personalizado. Por último, extraiga los mensajes de registro para ver los registros de las operaciones de IronPDF.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 16,685,821 | Versión: 2025.12 recién lanzado