TPDFlibLogger

資料型別、文件管理

描述

TPDFlibLogger 是結構化 logger 類別,透過 TPDFlib 的 Logger 屬性掛上。指派後它會收到 Debug、Info、Warn 與 Error 記錄,每筆帶一個取自既有 LastErrorCode 分類的數值代碼,以及人類可讀訊息logger 由呼叫端持有,可跨多個 實例共用

多個 TPDFlib 實例。預設為 nil,不掛 logger 的路徑零成本

語法

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;

參數

Level輸出的最低嚴重度;低於此閾值的記錄會被默默丟棄
OnLog宿主回呼,每筆輸出記錄都會呼叫,接收層級、代碼與訊息
FileName設定後,記錄也會透過執行緒安全的 TStreamWriter 寫入此檔案;清除它即停止檔案記錄

備註

便捷方法 Debug、Info、Warn 與 Error_ 以對應層級呼叫 Log

檔案寫入以 critical section 序列化,單一 logger 執行個體因此可安全地在工作者執行緒使用

PDFlibErrorMessage(Code) 把數值代碼轉成人類可讀訊息,可獨立於 logger 呼叫

另請參閱

Logger, OnOperationProgress, LastErrorCode