TPDFlibLogger
Tipos de dados, gestão de documentos
Descrição
TPDFlibLogger é a classe de registo estruturado associada a uma instância TPDFlib através da respetiva propriedade Logger. Quando atribuída, recebe registos Debug, Info, Warn e Error, cada um com um código numérico proveniente da taxonomia LastErrorCode existente e uma mensagem legível
O logger pertence ao chamador e pode ser partilhado por várias instâncias de TPDFlib. É nil por predefinição, pelo que o caminho sem logger não tem qualquer custo
Sintaxe
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;Properties
| Level | A gravidade mínima a emitir; os registos abaixo deste limiar são descartados silenciosamente |
|---|---|
| OnLog | Uma chamada de retorno do anfitrião invocada para cada registo emitido, que recebe o nível, o código e a mensagem |
| FileName | Quando definido, os registos também são escritos neste ficheiro através dum destino TStreamWriter seguro para threads; limpe-o para interromper o registo em ficheiro |
Observações
Os métodos práticos Debug, Info, Warn e Error_ chamam Log com o nível correspondente
As escritas no ficheiro são serializadas por uma secção crítica, pelo que é seguro utilizar uma única instância do logger em threads de trabalho
PDFlibErrorMessage(Code) traduz um código numérico numa mensagem legível e pode ser chamado independentemente do logger