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.
Respostas rápidas
- O que faz um logger personalizado c#? Ele captura erros, avisos e mensagens informativas durante a redação.
- Qual biblioteca fornece a interface ILogger? GroupDocs.Redaction para .NET.
- Posso salvar o documento redigido sem rasterização? Sim – use
redactor.Save(..., new Options.RasterizationOptions { Enabled = false }). - Preciso de uma licença para uso em produção? Uma licença completa é necessária para produção; uma avaliação está disponível para avaliação.
- Esta abordagem é compatível com .NET Core / .NET 6+? Absolutamente – a mesma API funciona em .NET Framework e .NET Core/5/6.
O que é um logger personalizado c#?
Um custom logger c# é uma classe que implementa a interface ILogger fornecida pelo GroupDocs.Redaction. Ela permite direcionar mensagens de log onde você precisar — console, arquivo, banco de dados ou sistemas de monitoramento externos — proporcionando uma visão clara do fluxo de trabalho de redação.
Por que usar logging personalizado .net com GroupDocs.Redaction?
- Conformidade & Auditoria: Logs detalhados atendem aos requisitos regulatórios.
- Visibilidade de Erros:
LogErroreLogWarningfornecem feedback imediato sobre problemas. - Flexibilidade de Integração: Encaminhe logs para frameworks de logging .NET existentes (Serilog, NLog, etc.).
Pré-requisitos
- GroupDocs.Redaction para .NET instalado (veja a instalação abaixo).
- Um ambiente de desenvolvimento .NET (Visual Studio, VS Code ou 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 de produção.
Guia passo a passo
Etapa 1: Definir uma classe de logger personalizada (log warnings c#)
Crie uma classe que implemente ILogger. Esta classe capturará erros, avisos e mensagens informativas.
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);
}
}
Explicação: 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);
Por que isso importa: Usar métodos utilitários mantém seu código limpo e garante que a pasta de saída exista antes de tentar salvar o documento redigido.
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 });
}
}
}
}
Explicação:
- O
Redactoré instanciado comRedactorSettings(logger), vinculando seuCustomLogger. - Após aplicar uma redação, o código verifica
logger.HasErrors. Se não houver erros, o documento é salvo — demonstrando a lógica de salvar documento redigido sem rasterização.
Armadilhas comuns & 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 escaneando a saída de
LogError. - Automação de Fluxo de Trabalho: Dispare processos subsequentes (ex.: notificar um oficial de conformidade) quando
LogWarningfor invocado.
Considerações de desempenho
- Descartar streams prontamente para liberar memória, especialmente ao processar grandes lotes.
- Monitorar CPU & memória durante redações em massa; considere processar documentos em paralelo com sincronização cuidadosa do logger.
- Mantenha-se atualizado: 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á use.
Perguntas Frequentes
Q: Qual é o objetivo do logging personalizado com GroupDocs.Redaction?
A: O logging personalizado ajuda a rastrear e gerenciar redações para conformidade, rastreamento de erros e otimização de fluxo de trabalho.
Q: Como lidar com erros usando um logger personalizado?
A: Implemente LogError na sua classe CustomLogger; o sinalizador HasErrors permite interromper o processamento se necessário.
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 algumas armadilhas comuns ao implementar logging personalizado?
A: Implementações incorretas de métodos, ausência de RedactorSettings(logger) e problemas de permissão de arquivos são as 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, simplificam a solução de problemas e atendem aos requisitos de auditoria.
Recursos
- Documentation: GroupDocs.Redaction .NET Documentation
- API Reference: GroupDocs.Redaction API Reference
- Download: GroupDocs.Redaction for .NET
Last Updated: 2026-03-28
Tested With: GroupDocs.Redaction 23.11 for .NET
Author: GroupDocs