TPDFlibLogger

Typy danych, Zarządzanie dokumentem

Opis

TPDFlibLogger jest klasą ustrukturyzowanego dziennika dołączaną do instancji TPDFlib przez jej właściwość Logger. Po przypisaniu otrzymuje rekordy Debug, Info, Warn i Error, z których każdy zawiera kod liczbowy z istniejącej taksonomii LastErrorCode oraz czytelny komunikat

Dziennik należy do kodu wywołującego i może być współdzielony przez kilka instancji TPDFlib. Domyślnie ma wartość nil, dlatego ścieżka bez dziennika nie ponosi kosztu

Składnia

Delphi

TPDFlibLogger = Class
  Public
    Constructor Create; Virtual;
    Destructor Destroy; Override;
    Procedure Log(Level: TPDFlibLogLevel; Code: Integer; Const Msg: WideString); Overload;
    Procedure Log(Level: TPDFlibLogLevel; Code: Integer; Const Msg: WideString;
      Const ExtraFieldsText: WideString); Overload;
    Procedure Debug(Code: Integer; Const Msg: WideString);
    Procedure Info(Code: Integer; Const Msg: WideString);
    Procedure Warn(Code: Integer; Const Msg: WideString);
    Procedure Error_(Code: Integer; Const Msg: WideString);
    Property Level: TPDFlibLogLevel Read FLevel Write FLevel;
    Property OnLog: TPDFlibLogEvent Read FOnLog Write FOnLog;
    Property FileName: WideString Read FFileName Write SetFileName;
  End;

Parametry

LevelMinimalna ważność do emitowania; rekordy poniżej progu są po cichu odrzucane
OnLogFunkcja wywołania zwrotnego hosta wywoływana dla każdego wyemitowanego rekordu, otrzymująca poziom, kod i komunikat
FileNamePo ustawieniu rekordy są również zapisywane do tego pliku przez bezpieczne wątkowo ujście TStreamWriter; wyczyść wartość, aby zatrzymać rejestrowanie do pliku

Uwagi

Metody pomocnicze Debug, Info, Warn i Error_ wywołują Log z odpowiadającym poziomem

Zapisy do pliku są serializowane sekcją krytyczną, dlatego jednej instancji dziennika można bezpiecznie używać z wątków roboczych

PDFlibErrorMessage(Code) tłumaczy kod liczbowy na czytelny komunikat i może być wywoływana niezależnie od dziennika

Zobacz również

Logger, OnOperationProgress, LastErrorCode