「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を利用したコンソールベースのサンプルコードの例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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経由でこちらから入手できます。なお、エンバカデロではこのライブラリに関するテクニカルサポートサービスは提供しておりません。
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition