Quick Logger 強大的企業級非同步記錄器

海利鸟發表於2024-05-07

Quick Logger 強大的企業級非同步記錄器

這是一個用於在檔案、控制檯、記憶體、電子郵件、rest、事件日誌、Syslog、slack、telegram、Redis、logstash、elasticsearch、influxdb、graylog、Sentry、Twilio 上記錄日誌,併為 Delphi Firemonkey(適用於 Windows/Linux/OSX/IOS/Android)丟擲事件的庫。

Quick Logger 是非同步的。所有日誌都被髮送到佇列中,不會影響您的應用程式流程。您可以定義許多提供者來傳送每個日誌條目,並決定每個人可以接受什麼級別。

program
{$APPTYPE CONSOLE}
uses
    Quick.Logger, // 使用Quick Logger庫
    Quick.Logger.Provider.Files, // 使用檔案日誌提供者
    Quick.Logger.Provider.Console; // 使用控制檯日誌提供者
  
begin
    // 新增日誌檔案和控制檯提供者
    Logger.Providers.Add(GlobalLogFileProvider);
    Logger.Providers.Add(GlobalLogConsoleProvider);
    // 配置提供者選項
    with GlobalLogFileProvider do
    begin
        FileName := '.Logger.log'; // 設定日誌檔名
        DailyRotate := True; // 啟用每日輪換
        MaxFileSizeInMB := 20; // 設定最大檔案大小為20MB
        LogLevel := LOG_ALL; // 設定日誌級別為全部
        Enabled := True; // 啟用提供者
    end;
    with GlobalLogConsoleProvider do
    begin
        LogLevel := LOG_DEBUG; // 為控制檯提供者設定日誌級別為除錯
        ShowEventColors := True; // 顯示事件顏色
        Enabled := True; // 啟用提供者
    end;
    Log('Test entry', etInfo); // 記錄一個資訊級別的日誌條目
    Log('Test number: %d', [1], etWarning); // 記錄一個警告級別的日誌條目,包含數字1
end.

QuickLogger 自動管理 Logger 和 Providers
Logger 和 providers 有一個全域性類,該類在應用程式關閉時會自動建立和釋放。您只需要將所需的提供者新增到 uses 子句中。

您可以在日誌中定義一系列事件型別:etHeader、etInfo、etSuccess、etWarning、etError、etCritical、etException、etDebug、etTrace、etCustom1、etCustom2。

每個日誌提供者都可以配置為監聽這些事件型別中的一個或多個,並限制每天、每小時、每分鐘或每秒接收的事件型別數量,以避免效能問題或垃圾郵件。

請務必在此處檢視 QuickLogger 的所有功能和示例!

相關文章