loggerpro
1.4.1
Kerangka kerja logging yang modern dan dapat dicolokkan untuk Delphi
LoggerPro kompatibel dengan
ILogItemRenderers
(periksa sampel) System.Net.HttpClient
)TLoggerProFileAppender
(Terima kasih charoit) TThreadedList<T>
dengan implementasi khusus ( TThreadSafeQueue<T>
) karena ada bug dan ini di TMonitor
.TThreadSafeQueue<T>
bukan pengganti TThreadedQueue<T>
tetapi dapat digunakan di proyek lain jika Anda menghadapi bug yang sama.TVCLMemoLogAppender.Create
mendapat parameter baru: aClearOnStartup
yang secara opsional menghapus memo saat startup.TLoggerProConsoleAppender
(Terima kasih kepada Fulgan)TLoggerProFileAppender
; sekarang ada panggilan balik OnLogRow
yang dapat digunakan untuk menyesuaikan format baris log.Log
baru yang kelebihan beban. Versi *Fmt
tidak digunakan lagi dan akan dihapus di versi mendatang MASALAH #17RESTLogCollector
program getting_started_console;
{ $APPTYPE CONSOLE }
uses
System.SysUtils,
LoggerPro.GlobalLogger; // this is the global logger, it is perfect to understand the basic operation of LoggerPro.
begin
try
// the global logger uses a TLoggerProFileAppender, so your logs will be written on a
// set of files with automatic rolling/rotating
Log.Debug( ' Debug message ' , ' main ' ); // TLoggerProFileAppender uses the "tag" to select a different log file
Log.Info( ' Info message ' , ' main ' );
Log.Warn( ' Warning message ' , ' main ' );
Log.Error( ' Error message ' , ' errors ' );
WriteLn( ' Check "getting_started_console.00.main.log" and "getting_started_console.00.errors.log" to see your logs ' );
ReadLn;
except
on E: Exception do
Writeln(E.ClassName, ' : ' , E.Message);
end ;
end .
Pendekatan yang paling fleksibel/benar tidak lebih rumit dibandingkan pendekatan logger global. Periksa betapa mudahnya membuat instance khusus dari logwriter
program getting_started_console_appenders;
{ $APPTYPE CONSOLE }
uses
System.SysUtils,
LoggerPro, // LoggerPro core
LoggerPro.FileAppender, // File appender
LoggerPro.OutputDebugStringAppender; // OutputDebugString appender
var
Log: ILogWriter;
begin
Log := BuildLogWriter([TLoggerProFileAppender.Create,
TLoggerProOutputDebugStringAppender.Create]);
try
Log.Debug( ' Debug message ' , ' main ' );
Log.Info( ' Info message ' , ' main ' );
Log.Warn( ' Warning message ' , ' main ' );
Log.Error( ' Error message ' , ' errors ' );
WriteLn( ' Check ' );
WriteLn( ' "getting_started_console.00.main.log" ' );
WriteLn( ' "getting_started_console.00.errors.log" ' );
if DebugHook <> 0 then // inform the user where his/her logs are
begin
WriteLn( ' also, you logs have been sent to the current debugger, check the Delphi '' s EventLog window to see them. ' );
end
else
begin
WriteLn( ' ..seems that no debugger is present. The logs can be seen using DebugView. ' );
WriteLn( ' Download it from here https://technet.microsoft.com/en-us/sysinternals/debugview.aspx ' );
WriteLn( ' Learn how to use http://tedgustaf.com/blog/2011/5/use-debugview-to-view-debug-output-from-asp-net-web-application/ ' );
end ;
ReadLn;
except
on E: Exception do
WriteLn(E.ClassName, ' : ' , E.Message);
end ;
end .
Kerangka kerja ini berisi penambah log bawaan berikut
TLoggerProFileAppender
) (v1.0.0+)TLoggerProConsoleAppender
) (v1.0.0+)TLoggerProOutputDebugStringAppender
) (v1.0.0+)TVCLMemoLogAppender
) (v1.0.0+)TVCLMemoLogAppender
) -- terima kasih kepada https://github.com/he3p94uu (v1.3.0+)Penambah berikutnya dalam alur pengembangan
Penulis log dan semua penambahannya tidak sinkron.
Periksa contoh untuk melihat cara menggunakan setiap appender atau bahkan menggabungkan appender yang berbeda.
Dokumentasi tersedia di folder docs
sebagai HTML.
Anda dapat menginstal manajer paket Delphinus dan menginstal LoggerPro sebagai sebuah paket di sana. (Dukungan Delphinus)