Un framework de journalisation moderne et enfichable pour Delphi
LoggerPro est compatible avec
ILogItemRenderers
(vérifier les exemples) System.Net.HttpClient
)TLoggerProFileAppender
(Merci charoit) TThreadedList<T>
par une implémentation personnalisée ( TThreadSafeQueue<T>
) à cause d'un bug et ceci dans TMonitor
.TThreadSafeQueue<T>
ne remplace pas TThreadedQueue<T>
mais peut être utilisé dans d'autres projets si vous luttez contre le même bug.TVCLMemoLogAppender.Create
obtient un nouveau paramètre : aClearOnStartup
qui efface éventuellement le mémo au démarrage.TLoggerProConsoleAppender
(Merci à Fulgan)TLoggerProFileAppender
; il existe désormais un rappel OnLogRow
qui peut être utilisé pour personnaliser le format des lignes du journal.Log
surchargées. Les versions *Fmt
sont obsolètes et seront supprimées dans une prochaine version NUMÉRO 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 .
L'approche la plus flexible/correcte n'est pas beaucoup plus compliquée que celle de l'enregistreur global. Vérifiez comment il est simple de créer une instance personnalisée de 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 .
Le framework contient les ajouts de journaux intégrés suivants
TLoggerProFileAppender
) (v1.0.0+)TLoggerProConsoleAppender
) (v1.0.0+)TLoggerProOutputDebugStringAppender
) (v1.0.0+)TVCLMemoLogAppender
) (v1.0.0+)TVCLMemoLogAppender
) -- grâce à https://github.com/he3p94uu (v1.3.0+)Prochains appenders en cours de développement
Les rédacteurs de journaux et tous les appendeurs sont asynchrones.
Consultez les exemples pour voir comment utiliser chaque appender ou même combiner différents appenders.
La documentation est disponible dans le dossier docs
au format HTML.
Vous pouvez installer le gestionnaire de packages Delphinus et y installer LoggerPro en tant que package. (Delphinus-Support)