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 呼叫