Implementar logger personalizado c# no GroupDocs.Redaction para .NET
Gerenciar redações de documentos de forma eficiente é crítico, especialmente ao lidar com informações sensíveis. Neste guia você aprenderá como implementar um logger personalizado c# com GroupDocs.Redaction para .NET, dando controle total sobre registro, tratamento de erros e trilhas de auditoria. Ao final do tutorial você será capaz de capturar avisos, erros e mensagens informativas, integrar o logger com frameworks de logging .NET existentes e salvar o documento editado sem rasterização.
Respostas rápidas
- O que faz um logger personalizado c#? Ele captura erros, avisos e mensagens informativas durante a redação, fornecendo um registro auditável pesquisável.
- Qual biblioteca fornece a interface ILogger? O GroupDocs.Redaction para .NET fornece a interface
ILogger. - Posso salvar o documento editado sem rasterização? Sim – chame
redactor.Save(..., new Options.RasterizationOptions { Enabled = false }). - Preciso de uma licença para uso em produção? É necessária uma licença completa para produção; uma licença de avaliação está disponível para testes.
- Esta abordagem é compatível com .NET Core / .NET 6+? Absolutamente – a mesma API funciona em .NET Framework, .NET Core, .NET 5 e .NET 6.
O que é um logger personalizado c#?
Um custom logger c# é uma classe que implementa a interface ILogger fornecida pelo GroupDocs.Redaction. Ele permite direcionar mensagens de log onde você precisar — console, arquivo, banco de dados ou sistemas de monitoramento externos — enquanto oferece uma visão clara do fluxo de trabalho de redação como um todo.
Por que usar logging personalizado .net com GroupDocs.Redaction?
Carregue seu processo de redação com logs detalhados e pesquisáveis que atendem a auditorias regulatórias e aceleram a solução de problemas. O GroupDocs.Redaction suporta 70+ formatos de entrada e saída e pode processar documentos de até 500 páginas sem carregar o arquivo inteiro na memória, de modo que um logger bem‑desenhado adiciona sobrecarga insignificante enquanto fornece visibilidade inestimável.
Pré-requisitos
- GroupDocs.Redaction para .NET instalado (veja a seção Instalação abaixo).
- Um ambiente de desenvolvimento .NET (Visual Studio, VS Code ou .NET CLI).
- Conhecimento básico de C# e familiaridade com streams de arquivos.
Instalação
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
Pesquise por “GroupDocs.Redaction” e instale a versão mais recente.
Aquisição de licença
- Teste gratuito: Teste a API com uma licença temporária.
- Licença temporária: Obtenha acesso total aos recursos por um período limitado.
- Compra: Obtenha uma licença perpétua para implantações em produção.
Guia passo a passo
Como implementar logger personalizado em .NET Core?
Carregue a classe CustomLogger no seu projeto .NET Core e conecte-a ao RedactorSettings. O logger funciona da mesma forma em .NET Framework, .NET 5 e .NET 6, permitindo que você compartilhe o mesmo código em todas as plataformas.
Etapa 1: Definir uma classe de logger personalizada (log de avisos c#)
A classe CustomLogger implementa ILogger.
CustomLogger é uma classe definida pelo usuário que implementa a interface ILogger para capturar eventos de redação.
using System;
using GroupDocs.Redaction;
class CustomLogger : ILogger
{
public bool HasErrors { get; private set; }
// Log errors encountered during processing.
public void LogError(string message)
{
Console.WriteLine("Error: " + message);
HasErrors = true;
}
// Log warnings that may not be critical but need attention.
public void LogWarning(string message)
{
Console.WriteLine("Warning: " + message);
}
// Log informational messages for tracking normal operations.
public void LogInfo(string message)
{
Console.WriteLine("Info: " + message);
}
}
Definition anchor: CustomLogger é uma implementação definida pelo usuário da interface ILogger que registra eventos de redação.
Explanation: O sinalizador HasErrors ajuda a decidir se deve continuar o processamento. Os três métodos correspondem aos três níveis de log que você precisará na maioria dos cenários de redação.
Etapa 2: Preparar caminhos de arquivos e abrir o documento fonte
string sourceFile = Utils.PrepareOutputDirectory("YOUR_DOCUMENT_DIRECTORY");
string outputFile = Utils.GetOutputFile(sourceFile);
Definition anchor: Redactor é a classe principal no GroupDocs.Redaction que realiza operações de redação em um documento PDF.
Why this matters: Usar métodos utilitários mantém seu código limpo e garante que a pasta de saída exista antes de tentar save redacted document.
Etapa 3: Aplicar redações usando o logger personalizado
using (Stream stream = File.Open(sourceFile, FileMode.Open, FileAccess.ReadWrite))
{
var logger = new CustomLogger();
using (Redactor redactor = new Redactor(stream, new LoadOptions(), new RedactorSettings(logger)))
{
// Apply a redaction to the document.
redactor.Apply(new DeleteAnnotationRedaction());
if (!logger.HasErrors)
{
using (Stream streamOut = File.Open(outputFile, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
// Save changes without rasterizing the output.
redactor.Save(streamOut, new Options.RasterizationOptions { Enabled = false });
}
}
}
}
Direct answer: O fluxo de trabalho de redação começa criando uma instância Redactor com RedactorSettings(logger), depois aplicando objetos de redação, verificando logger.HasErrors e, finalmente, chamando redactor.Save com rasterização desativada. Esse padrão garante que cada etapa seja registrada e que você persista um documento limpo somente quando nenhum erro ocorreu.
Explanation:
- O
Redactoré instanciado comRedactorSettings(logger), vinculando seuCustomLogger. - Após aplicar uma redação, o código verifica
logger.HasErrors. Se nenhum erro ocorreu, o documento é salvo — demonstrando a lógica de save redacted document sem rasterização.
Armadilhas comuns e solução de problemas
- Saída de log ausente: Verifique se cada método
Log*está corretamente sobrescrito. - Exceções de acesso a arquivos: Garanta que a aplicação tenha permissões de leitura/escrita para os caminhos de origem e saída.
- Logger não conectado: O parâmetro
RedactorSettings(logger)é essencial; omiti-lo desativa o logging personalizado.
Aplicações práticas
- Relatórios de conformidade: Exporte entradas de log para CSV ou banco de dados para trilhas de auditoria.
- Rastreamento de erros: Localize rapidamente arquivos problemáticos analisando a saída de
LogError. - Automação de fluxo de trabalho: Dispare processos subsequentes (por exemplo, notificar um oficial de conformidade) quando
LogWarningfor invocado.
Considerações de desempenho
- Dispose streams promptly para liberar memória, especialmente ao processar grandes lotes.
- Monitor CPU & memory durante redações em massa; considere processar documentos em paralelo com sincronização cuidadosa do logger.
- Stay updated: Versões mais recentes do GroupDocs.Redaction frequentemente incluem otimizações de desempenho e ganchos de logging adicionais.
Conclusão
Ao implementar um custom logger c#, você obtém insight granular em cada etapa do pipeline de redação, facilitando o cumprimento de padrões de conformidade e a depuração de problemas. A abordagem mostrada aqui funciona perfeitamente com GroupDocs.Redaction para .NET e pode ser estendida para integrar-se a qualquer framework de logging .NET que você já utilize.
Perguntas frequentes
Q: Qual é o objetivo do logging personalizado com GroupDocs.Redaction?
A: O logging personalizado captura eventos detalhados de redação, satisfaz requisitos de auditoria e simplifica a solução de problemas ao expor erros e avisos em tempo real.
Q: Como eu trato erros usando um logger personalizado?
A: Implemente LogError na sua classe CustomLogger; o sinalizador HasErrors permite abortar o processamento se um problema crítico for detectado.
Q: O logging personalizado pode ser integrado a outros sistemas?
A: Sim—você pode encaminhar mensagens de log para CRM, ERP ou ferramentas de monitoramento centralizadas estendendo os métodos do logger.
Q: Quais são as armadilhas comuns ao implementar logging personalizado?
A: Falta de sobrescrita de métodos, esquecer de passar RedactorSettings(logger) e permissões insuficientes de arquivos são os problemas mais frequentes.
Q: Como o logging personalizado melhora os fluxos de trabalho de redação de documentos?
A: Logs detalhados fornecem visibilidade em tempo real, agilizam a depuração e geram as trilhas de auditoria exigidas por regulamentos como GDPR e HIPAA.
Recursos
- Documentação: GroupDocs.Redaction .NET Documentation
- Referência da API: GroupDocs.Redaction API Reference
- Download: GroupDocs.Redaction for .NET
Última atualização: 2026-10-01
Testado com: GroupDocs.Redaction 23.11 for .NET
Autor: GroupDocs