Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiRAD Studio

エンタープライズ向けの非同期ログ出力ライブラリ「Quick Logger」

enterprise-grade-asynchronous-logger-for-delphi-ja

「Quick Logger」はファイル、コンソール、メモリ、電子メール、REST、イベントログ、Syslog、slack、telegram(テレグラム)、Redis、logstash、elasticsearch、influxdb、graylog、Sentry、Twilio、IDEのデバッグメッセージなど多種多様のイベントスローに対応したFireMonkey向けのライブラリで、Windows/Linux/macOS/iOS/Androidなどの様々なプラットホームに対応しています。

このライブラリは非同期で動作し、すべてのログはキューに送信され、アプリケーションフローを損なうことはありません。すべてのログエントリを送信する多くのプロバイダーを定義し、すべてのユーザーを受け入れるレベルを決定することができます。

QuickLoggerは、ロガーとプロバイダを自動的に管理します。ロガーとプロバイダはグローバルクラスを持っており、アプリケーションを終了するとログが自動生成されます。QuickLoggerを利用するために必要な操作は、Delphiソースコードのuse句に使用したいプロバイダを追加するだけです。

以下は、QuickLoggerを利用したコンソールベースのサンプルコードの例です。

program
{$APPTYPE CONSOLE}
uses
    Quick.Logger:
    Quick.Logger.Provider.Files;
    Quick.Logger.Provider.Console;
begin
    //Add Log File and console providers
    Logger.Providers.Add(GlobalLogFileProvider);
    Logger.Providers.Add(GlobalLogConsoleProvider);
    //Configure provider options
    with GlobalLogFileProvider do
 	begin
    	FileName := '.Logger.log';
        DailyRotate := True;
        MaxFileSizeInMB := 20;
        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);
end.


ログで定義できるイベントタイプには、

  • etHeader
  • etInfo
  • etSuccess
  • etWarning
  • etError
  • etCritical
  • etException
  • etDebug
  • etTrace
  • etCustom1
  • etCustom2

などがあります。

すべてのロガープロバイダーは、これらのイベントタイプの1つ以上をリッスンし、パフォーマンスの問題やスパムを回避するために、1日、1時間、1分、または1秒あたりのイベントタイプの範囲で受信するイベントタイプの数を制限するように設定できます。

QuickLoggerライブラリは、無償で利用可能なオープンソースですが、Apacheライセンスが規定されています。QuickLoggerの全てのライブラリとサンプルコードは、GitHub経由でこちらから入手できます。なお、エンバカデロではこのライブラリに関するテクニカルサポートサービスは提供しておりません。

Kai for RAD Studio is Now Available! Special Live Webinar: Introducing Kai - A New Chapter for RAD Studio RAD Studio 13.1 Florence Now Available

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES