TPDFlibLogger

データ型、ドキュメント管理

説明

TPDFlibLogger は、TPDFlib インスタンスの Logger プロパティを介して接続される構造化ロガークラスです。割り当てられると Debug、Info、Warn、Error レコードを受け取り、各レコードには既存の LastErrorCode 分類体系に由来する数値コードと人が読めるメッセージが含まれます

ロガーは呼び出し元が所有し、複数の TPDFlib インスタンス間で共有できます。既定では nil であるため、ロガーなしのパスはコストゼロです

構文

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 を呼び出します

ファイル書き込みはクリティカルセクションで直列化されるため、1 つのロガーインスタンスをワーカースレッドから安全に使用できます

PDFlibErrorMessage(Code) は数値コードを人が読めるメッセージに変換し、ロガーとは独立して呼び出せます

関連項目

Logger、OnOperationProgress、LastErrorCode