Cómo usar logging personalizado en C#

How to use Custom Logging in C#

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

Custom logging refers to the practice of implementing a logging system tailored to the specific needs and requirements of an application or system. It involves creating and using log files to record information, events, and messages generated by the software during its operation.

Quickstart: Implement Custom Logging with IronPDF

Get started swiftly with custom logging in C# using IronPDF. This guide shows you how to set the LoggingMode to Custom and link it with your tailored logger class. Monitor and manage your application logs effectively by directing IronPDF messages to your custom logger. It's easy to set up and allows you to enhance your application's logging capabilities tailored to your unique needs.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer


Custom Logging Example

To utilize the custom logging feature, change the LoggingMode property to LoggingModes.Custom. Afterward, assign the CustomLogger property to the custom logger class that you have created.

: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

IronPdf logs will be directed to the custom logger object. The messages will remain identical to those in the IronPdf logger; they will simply be relayed to the custom logger. How the custom logger manages the messages will be determined by the custom logger designer. Let's use the following custom logger class as an example.

: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

In this case, I have prefixed the log messages with additional information.

Console window

Ready to see what else you can do? Check out our tutorial page here: Addtional Features

Preguntas Frecuentes

¿Cómo puedo implementar el registro personalizado en C#?

Puedes implementar el registro personalizado en C# utilizando IronPDF. Primero, descarga IronPDF de NuGet, luego configura la propiedad LoggingMode a LoggingModes.Custom y asigna tu objeto de registro personalizado a la propiedad CustomLogger. Esta configuración asegura que todos los mensajes de registro se dirijan a tu registrador personalizado.

¿Qué pasos son necesarios para comenzar con el registro personalizado en IronPDF?

Para comenzar con el registro personalizado en IronPDF, descarga la biblioteca de NuGet, configura la LoggingMode a LoggingModes.Custom, asigna un registrador personalizado a la propiedad CustomLogger y asegúrate de que todos los mensajes de registro se envíen a tu registrador para la salida.

¿Cuál es el papel de la propiedad CustomLogger en IronPDF?

La propiedad CustomLogger en IronPDF te permite asignar un objeto de registrador personalizado. Esta función envía todos los mensajes de registro al registrador personalizado, permitiéndote gestionar cómo se registran y muestran los registros según las necesidades de tu aplicación.

¿Puede proporcionar un ejemplo detallado de cómo configurar un registrador personalizado en C#?

¡Por supuesto! Para configurar un registrador personalizado en C#, necesitas implementar la interfaz ILogger de IronPDF. Define métodos como LogInformation, LogWarning y LogError para manejar varios mensajes de registro, luego asigna tu registrador personalizado a la propiedad CustomLogger.

¿Por qué debería usar el registro personalizado en mi aplicación C#?

El registro personalizado es beneficioso en una aplicación C# ya que te permite crear un sistema de registro que satisfaga tus necesidades específicas. Esta personalización mejora la supervisión, la depuración y el mantenimiento al proporcionar información detallada y relevante del registro.

¿Cuáles son los beneficios de usar el registro personalizado con IronPDF?

Usar el registro personalizado con IronPDF proporciona flexibilidad en cómo se gestionan los mensajes de registro. Te permite adaptar el registro a los requisitos de tu aplicación, asegurando que captures y manejes los mensajes de registro de la manera más efectiva para tus procesos.

¿Cómo soporta la interfaz ILogger el registro personalizado?

La interfaz ILogger soporta el registro personalizado al proporcionar una estructura que debes implementar en tu registrador personalizado. Incluye métodos para manejar diferentes tipos de mensajes de registro, asegurando capacidades de registro completas.

¿Qué tipos de mensajes se pueden registrar utilizando un registrador personalizado en IronPDF?

Un registrador personalizado en IronPDF puede manejar una variedad de mensajes de registro, incluidos mensajes informativos, de advertencia y de error. Esta capacidad de registro completa asegura que tengas registros detallados de las operaciones de tu aplicación.

¿El registro personalizado de IronPDF es totalmente compatible con .NET 10?

Sí. IronPDF es totalmente compatible con .NET 10, incluidas sus funciones de registro personalizadas. Puede usar LoggingModes.Custom y asignar un registrador personalizado mediante CustomLogger en un proyecto .NET 10 sin necesidad de soluciones alternativas.

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,154,058 | Versión: 2025.11 recién lanzado