Jak korzystać z niestandardowego logowania w języku C#

How to use Custom Logging in C

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

Niestandardowe logowanie w C# pozwala na wdrożenie dostosowanego systemu logowania, który rejestruje zdarzenia i komunikaty specyficzne dla aplikacji. Z IronPDF możesz przekierować wszystkie dzienniki przetwarzania PDF do swojego niestandardowego rejestratora, ustawiając LoggingMode na Custom i przypisując swoją implementację rejestrowania. Ta funkcja pozwala na zintegrowanie szczegółowych dzienników IronPDF z istniejącą infrastrukturą logowania, niezależnie czy używasz NLog, Serilog, log4net czy niestandardowego rozwiązania.

Niestandardowe logowanie jest wartościowe, gdy potrzebujesz centralizować dzienniki z wielu komponentów, stosować niestandardowe formatowanie, filtrować według poziomów ważności lub kierować dzienniki do określonych miejsc docelowych, takich jak pliki, bazy danych lub usługi monitorowania. Wdrażając niestandardowe logowanie z IronPDF, zyskujesz pełną kontrolę nad tym, jak zdarzenia generowania i przetwarzania PDF są śledzone w aplikacji.

Szybki start: Wdrażanie niestandardowego logowania z IronPDF

Rozpocznij niestandardowe logowanie w C# z IronPDF. Ten przewodnik pokazuje, jak ustawić LoggingMode na Custom i połączyć go z klasą rejestrowania. Przekieruj komunikaty IronPDF do swojego niestandardowego loggera, aby monitorować i zarządzać dziennikami aplikacji. Konfiguracja jest prosta i poprawia możliwości logowania aplikacji. Aby uzyskać kompleksowy przegląd funkcji IronPDF, zobacz nasz Przewodnik Szybkiego Startu.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak wdrożyć przykład niestandardowego logowania?

Aby używać niestandardowego rejestrowania, zmień właściwość LoggingMode na LoggingModes.Custom. Następnie przypisz właściwość CustomLogger do swojej klasy niestandardowego rejestratora. To zapewnia elastyczność integracji z różnymi frameworkami logowania i utrzymuje spójne wzorce logowania w aplikacji.

Wdrażanie wymaga minimalnej konfiguracji. Po skonfigurowaniu, wszystkie operacje IronPDF — w tym konwersja HTML na PDF, manipulacja i renderowanie PDF — automatycznie wysyłają swoje komunikaty dziennika przez niestandardowy logger. Ta integracja zapewnia uchwycenie ważnych informacji o operacjach przetwarzania PDF.

Dlaczego należy używać niestandardowego logowania z 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

Dzienniki IronPDF będą kierowane do obiektu niestandardowego loggera. Komunikaty pozostają identyczne do tych w loggerze IronPDF; są przekazywane do niestandardowego loggera. Implementacja niestandardowego loggera określa, jak obsługiwać komunikaty. Rozważ poniższy przykład klasy niestandardowego loggera.

Niestandardowe logowanie oferuje wiele zalet dla aplikacji produkcyjnych:

  • Centralne zarządzanie dziennikami: Zintegruj dzienniki IronPDF z istniejącą infrastrukturą logowania
  • Ulepszone debugowanie: Rejestruj szczegółowe informacje o operacjach na plikach PDF w celu rozwiązywania problemów
  • Monitorowanie wydajności: śledzenie czasu renderowania i wykorzystania zasobów
  • Śledzenie błędów: automatyczne wykrywanie i zgłaszanie błędów podczas generowania plików PDF
  • Zgodność z przepisami: Prowadzenie ścieżek audytu dla generowania dokumentów w branżach podlegających regulacjom

W przypadku aplikacji wymagających przetwarzania asynchronicznego niestandardowe logowanie pomaga śledzić równoczesne operacje na plikach PDF i identyfikować potencjalne wąskie gardła.

Jak wygląda niestandardowa klasa loggera?

: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

Ta implementacja podąża za standardowym interfejsem Microsoft.Extensions.Logging.ILogger, czyniąc ją kompatybilną z ekosystemem rejestrowania .NET. Klasa logger zawiera:

  • Nazwa kategorii: Pomaga zidentyfikować źródło komunikatów dziennika
  • Filtrowanie poziomu logów: Kontroluj, które poziomy ważności mają być rejestrowane
  • Elastyczne wyjście: kieruj logi do dowolnego miejsca docelowego (konsola, plik, baza danych itp.)
  • Obsługa wyjątków: Prawidłowe formatowanie i rejestrowanie szczegółów wyjątków
  • Zarządzanie Stanem: Wsparcie dla strukturalnego logowania z BeginScope

W przypadku zaawansowanych scenariuszy warto zapoznać się z opcjami renderowania, które mają wpływ na wynik logowania, zwłaszcza podczas złożonych konwersji HTML lub pracy z silnikiem renderującym Chrome.

Jak wygląda niestandardowy wynik logowania?

W tym przykładzie komunikaty dziennika są poprzedzone dodatkowymi informacjami.

Konsola debugowania Visual Studio pokazująca logi wdrożeniowe IronPDF z inicjalizacją klienta Chrome i ładowaniem biblioteki

Wynik wyświetlony w konsoli pokazuje, w jaki sposób niestandardowe logowanie zapewnia szczegółowy wgląd w wewnętrzne operacje IronPDF. Możesz zobaczyć:

  • Kroki inicjalizacji klienta Chrome
  • Tworzenie kandydatów do wdrożenia
  • Sekwencje ładowania bibliotek natywnych
  • Potwierdzenia pomyślnego wdrożenia komponentów

Ten poziom szczegółowości jest nieoceniony podczas debugowania problemów związanych z generowaniem plików PDF lub optymalizacji wydajności. Strukturalny format ułatwia programowe analizowanie logów lub integrację z narzędziami do analizy logów.

Icon Quote related to Jak wygląda niestandardowy wynik logowania?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Jak wygląda niestandardowy wynik logowania?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak wygląda niestandardowy wynik logowania?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Jak wygląda niestandardowy wynik logowania?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak wygląda niestandardowy wynik logowania?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Jak wygląda niestandardowy wynik logowania?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Najlepsze praktyki dotyczące wdrażania niestandardowego logowania

Podczas wdrażania niestandardowego logowania za pomocą IronPDF należy wziąć pod uwagę następujące najlepsze praktyki:

  1. Używaj odpowiednich poziomów logowania: Skonfiguruj swój logger tak, aby rejestrował odpowiedni poziom szczegółowości bez przeciążania pamięci logów
  2. Uwzględnij informacje kontekstowe: Dodaj identyfikatory żądań, informacje o użytkowniku lub szczegóły transakcji, aby skorelować operacje na plikach PDF
  3. Postępuj ostrożnie z danymi wrażliwymi: upewnij się, że Twój logger nie ujawnia poufnych informacji zawartych w plikach PDF
  4. Monitorowanie wydajności: Śledź czasy generowania plików PDF, aby zidentyfikować możliwości optymalizacji
  5. Skonfiguruj alerty: Skonfiguruj powiadomienia o krytycznych błędach lub spadku wydajności

W przypadku wdrożeń produkcyjnych, zwłaszcza przy użyciu kluczy licencyjnych, prawidłowe logowanie zapewnia płynne działanie i szybkie rozwiązywanie problemów.

Rozwiązywanie typowych problemów związanych z logowaniem

Jeśli napotkasz problemy z niestandardowym logowaniem:

  • Zweryfikuj, czy Twój rejestrator poprawnie implementuje interfejs ILogger
  • Upewnij się, że LoggingMode jest ustawiony przed jakimikolwiek operacjami IronPDF
  • Upewnij się, że Twój rejestrator jest bezpieczny dla wątków w przypadku operacji wykonywanych jednocześnie
  • Sprawdź uprawnienia do dziennika, jeśli zapisujesz do plików lub systemów zewnętrznych

Aby uzyskać dodatkowe zasoby dotyczące rozwiązywania problemów, zapoznaj się z naszym przewodnikiem dotyczącym rozwiązywania problemów lub przejrzyj Dokumentację API, aby uzyskać szczegółowe informacje na temat właściwości i metod rejestrowania.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Zapoznaj się z naszą stroną z samouczkami tutaj: Dodatkowe funkcje

Często Zadawane Pytania

Czym jest niestandardowe logowanie w C# i jak działa z przetwarzaniem PDF?

Niestandardowe logowanie w C# z IronPDF pozwala wprowadzić dostosowany system logowania, który przechwytuje zdarzenia i wiadomości przetwarzania PDF. Ustawiając LoggingMode na Custom i przypisując swoją implementację loggera, IronPDF przekierowuje wszystkie logi generacji i manipulacji PDF do Twojego loggera niestandardowego, umożliwiając integrację z istniejącą infrastrukturą logowania, jak NLog, Serilog lub log4net.

Jak wlaczyc niestandardowe logowanie dla operacji PDF?

Aby wlaczyc niestandardowe logowanie w IronPDF, ustaw IronSoftware.Logger.LoggingMode na LoggingModes.Custom i przypisz swoja niestandardowa klase loggera do IronSoftware.Logger.CustomLogger. Po skonfigurowaniu wszystkie operacje IronPDF, w tym konwersja HTML do PDF i manipulacja PDF, beda automatycznie przesylac swoje komunikaty dziennika przez twojego niestandardowego loggera.

Jakie sa korzysci z implementacji niestandardowego logowania dla generowania PDF?

Niestandardowe logowanie w IronPDF zapewnia pelna kontrole nad tym, jak sledzone sa zdarzenia przetwarzania PDF. Umozliwia centralizacje dziennikow z wielu komponentow, stosowanie niestandardowego formatowania, filtrowanie wedlug poziomow waznosci i przekierowywanie dziennikow do okreslonych miejsc docelowych, takich jak pliki, bazy danych czy uslugi monitorujace, co zwieksza mozliwosci logowania aplikacji.

Czy moge zintegrowac dzienniki przetwarzania PDF z istniejacymi strukturami logowania?

Tak, funkcja niestandardowego logowania w IronPDF bezproblemowo integruje sie z popularnymi strukturami logowania, takimi jak NLog, Serilog, log4net lub dowolne rozwiazanie niestandardowe. Zapewnia to spojnosc wzorcow logowania w calej aplikacji, przy jednoczesnym uchwyceniu kluczowych informacji o operacjach przetwarzania PDF.

Jaki jest minimalny przeplyw pracy do implementacji niestandardowego logowania?

Minimalny przeplyw pracy obejmuje 5 krokow: Pobrac IronPDF z NuGet, ustawic LoggingMode na LoggingModes.Custom, przypisac CustomLogger do swojego niestandardowego obiektu loggera, a wszystkie komunikaty dziennika beda przekazywane do twojego niestandardowego loggera. Na koniec wydrukuj komunikaty dziennika, aby zobaczyc dzienniki operacji IronPDF.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 19,936,792 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.