Implementacja własnego loggera c# w GroupDocs.Redaction dla .NET

Efektywne zarządzanie redakcją dokumentów jest kluczowe, szczególnie przy obsłudze wrażliwych informacji. W tym przewodniku dowiesz się jak zaimplementować własny logger c# z GroupDocs.Redaction dla .NET, co da Ci pełną kontrolę nad logowaniem, obsługą błędów i ścieżkami audytu. Po zakończeniu samouczka będziesz w stanie przechwytywać ostrzeżenia, błędy i komunikaty informacyjne, integrować logger z istniejącymi frameworkami logowania .NET oraz zapisać zredagowany dokument bez rasteryzacji.

Szybkie odpowiedzi

  • Co robi własny logger c#? Przechwytuje błędy, ostrzeżenia i komunikaty informacyjne podczas redakcji, zapewniając przeszukiwalną ścieżkę audytu.
  • Która biblioteka dostarcza interfejs ILogger? GroupDocs.Redaction dla .NET udostępnia interfejs ILogger.
  • Czy mogę zapisać zredagowany dokument bez rasteryzacji? Tak – wywołaj redactor.Save(..., new Options.RasterizationOptions { Enabled = false }).
  • Czy potrzebuję licencji do użytku produkcyjnego? Pełna licencja jest wymagana w środowisku produkcyjnym; licencja trial jest dostępna do oceny.
  • Czy to podejście jest kompatybilne z .NET Core / .NET 6+? Zdecydowanie – to samo API działa na .NET Framework, .NET Core, .NET 5 i .NET 6.

Czym jest własny logger c#?

custom logger c# to klasa implementująca interfejs ILogger dostarczany przez GroupDocs.Redaction. Umożliwia kierowanie komunikatów logowania tam, gdzie potrzebujesz — konsola, plik, baza danych lub zewnętrzne systemy monitorujące — zapewniając jednocześnie przejrzysty podgląd całego procesu redakcji.

Dlaczego używać własnego logowania .net z GroupDocs.Redaction?

Zasil swój proces redakcji szczegółowymi, przeszukiwalnymi logami, które spełniają wymogi audytów regulacyjnych i przyspieszają rozwiązywanie problemów. GroupDocs.Redaction obsługuje ponad 70 formatów wejściowych i wyjściowych i może przetwarzać dokumenty do 500 stron bez wczytywania całego pliku do pamięci, więc dobrze zaprojektowany logger dodaje znikomy narzut, zapewniając jednocześnie nieocenioną przejrzystość.

Wymagania wstępne

  • GroupDocs.Redaction for .NET installed (see the Installation section below).
  • Środowisko programistyczne .NET (Visual Studio, VS Code lub .NET CLI).
  • Podstawowa znajomość C# oraz obcowanie z strumieniami plików.

Instalacja

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
Wyszukaj “GroupDocs.Redaction” i zainstaluj najnowszą wersję.

Pozyskiwanie licencji

  • Free trial: Przetestuj API z tymczasową licencją.
  • Temporary license: Uzyskaj pełny dostęp do funkcji na ograniczony czas.
  • Purchase: Uzyskaj licencję wieczystą do wdrożeń produkcyjnych.

Przewodnik krok po kroku

Jak zaimplementować własny logger w .NET Core?

Załaduj klasę CustomLogger do swojego projektu .NET Core i podłącz ją do RedactorSettings. Logger działa tak samo w .NET Framework, .NET 5 i .NET 6, więc możesz udostępniać ten sam kod na wszystkich platformach.

Krok 1: Zdefiniuj własną klasę loggera (log warnings c#)

Klasa CustomLogger implementuje ILogger.
CustomLogger to klasa definiowana przez użytkownika, która implementuje interfejs ILogger w celu przechwytywania zdarzeń redakcji.

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 to implementacja definiowana przez użytkownika interfejsu ILogger, która rejestruje zdarzenia redakcji.
Explanation: Flaga HasErrors pomaga zdecydować, czy kontynuować przetwarzanie. Trzy metody odpowiadają trzem poziomom logowania, które będą potrzebne w większości scenariuszy redakcji.

Krok 2: Przygotuj ścieżki plików i otwórz dokument źródłowy

string sourceFile = Utils.PrepareOutputDirectory("YOUR_DOCUMENT_DIRECTORY");
string outputFile = Utils.GetOutputFile(sourceFile);

Definition anchor: Redactor to główna klasa w GroupDocs.Redaction, wykonująca operacje redakcji na dokumencie PDF.
Why this matters: Korzystanie z metod pomocniczych utrzymuje kod w czystości i zapewnia, że folder wyjściowy istnieje przed próbą save redacted document.

Krok 3: Zastosuj redakcje używając własnego loggera

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: Przebieg redakcji rozpoczyna się od utworzenia instancji Redactor z RedactorSettings(logger), następnie zastosowania obiektów redakcji, sprawdzenia logger.HasErrors i w końcu wywołania redactor.Save z wyłączoną rasteryzacją. Ten wzorzec zapewnia, że każdy krok jest logowany i że zapisujesz czysty dokument tylko wtedy, gdy nie wystąpiły błędy.
Explanation:

  1. Redactor jest tworzony przy użyciu RedactorSettings(logger), łącząc Twój CustomLogger.
  2. Po zastosowaniu redakcji kod sprawdza logger.HasErrors. Jeśli nie wystąpiły błędy, dokument jest zapisywany — demonstrując logikę save redacted document bez rasteryzacji.

Typowe pułapki i rozwiązywanie problemów

  • Missing log output: Zweryfikuj, czy każda metoda Log* jest poprawnie nadpisana.
  • File access exceptions: Upewnij się, że aplikacja ma uprawnienia odczytu/zapisu zarówno do ścieżek źródłowych, jak i wyjściowych.
  • Logger not wired: Parametr RedactorSettings(logger) jest niezbędny; jego pominięcie wyłącza własne logowanie.

Praktyczne zastosowania

  1. Compliance reporting: Eksportuj wpisy logów do pliku CSV lub bazy danych w celu tworzenia ścieżek audytu.
  2. Error tracking: Szybko zlokalizuj problematyczne pliki, przeglądając wyjście LogError.
  3. Workflow automation: Uruchom procesy zależne (np. powiadomienie inspektora ochrony danych) po wywołaniu LogWarning.

Uwagi dotyczące wydajności

  • Dispose streams promptly aby zwolnić pamięć, szczególnie przy przetwarzaniu dużych partii.
  • Monitor CPU & memory podczas masowych redakcji; rozważ przetwarzanie dokumentów równolegle przy zachowaniu ostrożnej synchronizacji loggera.
  • Stay updated: Nowsze wersje GroupDocs.Redaction często zawierają optymalizacje wydajności oraz dodatkowe haki logowania.

Podsumowanie

Implementując custom logger c#, uzyskasz szczegółowy wgląd w każdy krok procesu redakcji, co ułatwia spełnianie standardów zgodności i debugowanie problemów. Podejście przedstawione tutaj działa bezproblemowo z GroupDocs.Redaction dla .NET i może być rozszerzone o integrację z dowolnym frameworkiem logowania .NET, którego już używasz.


Najczęściej zadawane pytania

Q: Jaki jest cel własnego logowania z GroupDocs.Redaction?
A: Własne logowanie przechwytuje szczegółowe zdarzenia redakcji, spełnia wymogi audytu i upraszcza rozwiązywanie problemów, udostępniając błędy i ostrzeżenia w czasie rzeczywistym.

Q: Jak obsługiwać błędy przy użyciu własnego loggera?
A: Zaimplementuj LogError w swojej klasie CustomLogger; flaga HasErrors pozwala przerwać przetwarzanie, jeśli wykryto krytyczny problem.

Q: Czy własne logowanie może być zintegrowane z innymi systemami?
A: Tak — możesz przekazywać komunikaty logów do systemów CRM, ERP lub scentralizowanych narzędzi monitorujących, rozszerzając metody loggera.

Q: Jakie są typowe pułapki przy implementacji własnego logowania?
A: Brak nadpisania metod, zapomnienie o przekazaniu RedactorSettings(logger) oraz niewystarczające uprawnienia do plików to najczęstsze problemy.

Q: Jak własne logowanie poprawia przepływy pracy redakcji dokumentów?
A: Szczegółowe logi zapewniają widoczność w czasie rzeczywistym, usprawniają debugowanie i generują ścieżki audytu wymagane przez regulacje takie jak GDPR i HIPAA.

Zasoby


Last updated: 2026-10-01
Tested with: GroupDocs.Redaction 23.11 for .NET
Author: GroupDocs


Powiązane samouczki