Como usar o registro personalizado em C#

Como usar registro personalizado (Custom Logging) em C

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

O registro personalizado em C# permite implementar um sistema de registro sob medida que captura eventos e mensagens específicos do aplicativo. Com o IronPDF, você pode redirecionar todos os registros de processamento de PDF para seu logger personalizado, definindo LoggingMode para Custom e atribuindo sua implementação de logger. Este recurso permite integrar a saída de registro detalhada do IronPDF com sua infraestrutura de registro existente, seja ela NLog, Serilog, log4net ou uma solução personalizada.

O registro personalizado é valioso quando você precisa centralizar registros de vários componentes, aplicar formatação personalizada, filtrar por níveis de gravidade ou encaminhar registros para destinos específicos, como arquivos, bancos de dados ou serviços de monitoramento. Ao implementar o registro personalizado com o IronPDF, você obtém controle total sobre como os eventos de geração e processamento de PDFs são rastreados em seu aplicativo.

Início rápido: Implemente o registro personalizado com o IronPDF

Comece a criar sistemas de registro de logs personalizados em C# usando o IronPDF. Este guia mostra como definir o valor de LoggingMode para Custom e vinculá-lo à sua classe de registro (logger). Direcione as mensagens do IronPDF para seu registrador personalizado para monitorar e gerenciar os registros do aplicativo. A configuração é simples e aprimora os recursos de registro de logs do seu aplicativo. Para uma visão geral completa dos recursos do IronPDF, consulte nosso Guia de Início Rápido .

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Como faço para implementar um exemplo de registro personalizado?

Para usar o registro personalizado, altere a propriedade LoggingMode para LoggingModes.Custom . Em seguida, atribua a propriedade CustomLogger à sua classe de registro personalizada. Isso proporciona flexibilidade para integração com diversas estruturas de registro e mantém padrões de registro consistentes em toda a sua aplicação.

A implementação requer configuração mínima. Uma vez configurado, todas as operações do IronPDF — incluindo conversão de HTML para PDF, manipulação de PDF e renderização — enviam automaticamente suas mensagens de log por meio do seu logger personalizado. Essa integração garante a captura de informações críticas sobre as operações de processamento de PDF.

Por que devo usar o registro personalizado com o 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

Os registros do IronPDF serão direcionados para o objeto de registro personalizado. As mensagens permanecem idênticas às do registrador IronPDF ; Eles são retransmitidos para o registrador personalizado. A implementação personalizada do registrador de logs determina como lidar com as mensagens. Considere o seguinte exemplo de classe de logger personalizada.

O registro personalizado oferece diversas vantagens para aplicações de produção:

  • Gerenciamento centralizado de logs : Integre os logs do IronPDF à sua infraestrutura de registro existente.
  • Depuração aprimorada : Capture informações detalhadas sobre as operações de PDF para solucionar problemas.
  • Monitoramento de desempenho : acompanhe os tempos de renderização e o uso de recursos.
  • Rastreamento de erros : Captura e reporta automaticamente falhas na geração de PDFs.
  • Conformidade : Manter trilhas de auditoria para a geração de documentos em setores regulamentados.

Para aplicações que exigem processamento assíncrono , o registro personalizado ajuda a monitorar operações simultâneas em PDF e a identificar possíveis gargalos.

Qual é a aparência de uma classe 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 implementação segue a interface padrão Microsoft.Extensions.Logging.ILogger, tornando-a compatível com o ecossistema de registro de logs do .NET . A classe logger inclui:

  • Nome da categoria : Ajuda a identificar a origem das mensagens de log.
  • Filtragem por nível de log : Controle quais níveis de severidade capturar.
  • Saída flexível : Direcione os logs para qualquer destino (console, arquivo, banco de dados, etc.)
  • Tratamento de Exceções : Formate e registre corretamente os detalhes da exceção.
  • Gerenciamento de estado : Suporte para registro estruturado com BeginScope

Para cenários avançados, explore as opções de renderização que afetam a saída de registro, especialmente ao lidar com conversões HTML complexas ou ao trabalhar com o mecanismo de renderização do Chrome .

Como é a aparência da saída de registro personalizada?

Neste exemplo, as mensagens de registro são precedidas por informações adicionais.

Console do depurador do Visual Studio mostrando os logs de implantação do IronPDF com a inicialização do cliente Chrome e o carregamento da biblioteca.

A saída do console demonstra como o registro personalizado fornece informações detalhadas sobre as operações internas do IronPDF. Você pode ver:

  • Etapas de inicialização do cliente Chrome
  • Criação de candidatos à implantação
  • Sequências de carregamento de biblioteca nativa
  • Confirmações de implantação bem-sucedida de componentes

Esse nível de detalhe é inestimável ao depurar problemas de geração de PDFs ou otimizar o desempenho. O formato estruturado facilita a análise programática dos registros ou a integração com ferramentas de análise de registros.

Melhores práticas para implementação de registro personalizado

Ao implementar o registro personalizado com o IronPDF, considere estas boas práticas:

  1. Use níveis de registro apropriados : configure seu registrador de logs para capturar o nível de detalhes correto sem sobrecarregar o armazenamento de logs.
  2. Incluir informações contextuais : Adicione IDs de solicitação, informações do usuário ou detalhes da transação para correlacionar operações em PDF.
  3. Lidar com Dados Sensíveis : Certifique-se de que seu registrador de dados não exponha informações confidenciais do conteúdo do PDF.
  4. Monitorar o desempenho : acompanhe os tempos de geração de PDFs para identificar oportunidades de otimização.
  5. Configurar alertas : configure notificações para erros críticos ou degradação de desempenho.

Para implantações em produção, especialmente ao usar chaves de licença , o registro adequado de logs garante operações tranquilas e resolução rápida de problemas.

Solução de problemas comuns de registro de logs

Se você encontrar problemas com o registro personalizado:

Verifique se o seu logger implementa corretamente a interface ILogger Verifique se LoggingMode está definido antes de qualquer operação do IronPDF.

  • Certifique-se de que seu logger seja thread-safe para operações simultâneas.
  • Verifique as permissões de registro se estiver gravando em arquivos ou sistemas externos.

Para obter recursos adicionais de solução de problemas, consulte nosso guia de solução de problemas ou explore a Referência da API para obter documentação detalhada sobre propriedades e métodos de registro.

Pronto para ver o que mais você pode fazer? Confira nossa página de tutoriais aqui: Recursos adicionais

Perguntas frequentes

O que é registro personalizado em C# e como ele funciona com o processamento de PDF?

O registro personalizado em C# com IronPDF permite implementar um sistema de registro sob medida que captura eventos e mensagens de processamento de PDFs. Ao definir LoggingMode como Custom e atribuir sua implementação de logger, o IronPDF redireciona todos os registros de geração e manipulação de PDFs para o seu logger personalizado, permitindo a integração com infraestruturas de registro existentes como NLog, Serilog ou log4net.

Como faço para ativar o registro personalizado de operações em PDF?

Para habilitar o registro personalizado com o IronPDF, defina `IronSoftware.Logger.LoggingMode` como `LoggingModes.Custom` e atribua sua classe de registro personalizada a `IronSoftware.Logger.CustomLogger`. Uma vez configurado, todas as operações do IronPDF, incluindo a conversão de HTML para PDF e a manipulação de PDFs, enviarão automaticamente suas mensagens de registro por meio do seu registrador personalizado.

Quais são os benefícios de implementar um sistema de registro personalizado para a geração de PDFs?

O registro personalizado com o IronPDF oferece controle total sobre como os eventos de processamento de PDF são rastreados. Ele permite centralizar registros de vários componentes, aplicar formatação personalizada, filtrar por níveis de gravidade e direcionar registros para destinos específicos, como arquivos, bancos de dados ou serviços de monitoramento, aprimorando os recursos de registro do seu aplicativo.

Posso integrar os registros de processamento de PDF com as estruturas de registro existentes?

Sim, o recurso de registro personalizado do IronPDF se integra perfeitamente com frameworks de registro populares, incluindo NLog, Serilog, log4net ou qualquer solução de registro personalizada. Isso garante padrões de registro consistentes em toda a sua aplicação, ao mesmo tempo que captura informações críticas sobre as operações de processamento de PDF.

Qual é o fluxo de trabalho mínimo para implementar o registro personalizado de logs?

O fluxo de trabalho mínimo envolve 5 etapas: Baixe o IronPDF do NuGet, defina o LoggingMode como LoggingModes.Custom, atribua o CustomLogger ao seu objeto de registro personalizado e todas as mensagens de log serão encaminhadas para o seu registro personalizado. Por fim, imprima as mensagens de log para visualizar os registros das operações do IronPDF.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 18,318,263 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.