TPDFlibLogger
Datentypen, Dokumentverwaltung
Beschreibung
TPDFlibLogger ist die strukturierte Loggerklasse, die einer TPDFlib-Instanz über deren Eigenschaft Logger zugeordnet wird. Nach der Zuweisung empfängt sie Datensätze der Stufen Debug, Info, Warn und Error, jeweils mit einem numerischen Code aus der bestehenden LastErrorCode-Systematik und einer verständlichen Meldung
Der Logger gehört dem Aufrufer und kann von mehreren TPDFlib-Instanzen gemeinsam verwendet werden. Standardmäßig ist er nil, sodass der Pfad ohne Logger keine Kosten verursacht
Syntax
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;Parameter
| Level | Der minimale auszugebende Schweregrad; Datensätze unterhalb dieses Schwellenwerts werden stillschweigend verworfen |
|---|---|
| OnLog | Ein Host-Callback, das für jeden ausgegebenen Datensatz aufgerufen wird und Stufe, Code und Meldung empfängt |
| FileName | Wenn festgelegt, werden Datensätze außerdem über eine threadsichere TStreamWriter-Senke in diese Datei geschrieben; löschen Sie den Wert, um die Dateiprotokollierung zu beenden |
Rückgabewerte
Die Komfortmethoden Debug, Info, Warn und Error_ rufen Log mit der entsprechenden Stufe auf
Dateischreibvorgänge werden durch einen kritischen Abschnitt serialisiert, sodass eine einzelne Loggerinstanz sicher aus Workerthreads verwendet werden kann
PDFlibErrorMessage(Code) übersetzt einen numerischen Code in eine verständliche Meldung und kann unabhängig vom Logger aufgerufen werden