A free Delphi logging solution
EstLogger is a logging solution for Delphi applications. Its main purpose is to help developers improve their code by getting insight in the flow and performance of their applications.
This is done by making use of a logger class written in Delphi. A developer can select what to log and when to log it by coding a single log statement in his application at the appropriate place.
Log messages are first send to a logger application, which in turn writes it to disk. This prevents the application that is sending the message having to wait on (slow) disk operations.
Log files can be viewed and analyzed using a separate log viewer application.
When developing applications, debugging alone is not enough to help construct robust and reliable code. Wouldn't it be nice to know how your application operate and perform over a longer period of time than your test session?
Also there is code that can hardly be debugged at all. Code executed on paint events (or any other message type that is disturbed by the debugger), code that spawns several threads, code in services, time critical code, etcetera.
This is where EstLogger comes in handy. In stead of using (just) the debugger to help you check your code, you can add code to log messages from your software.
The EstLogger class
The EstLogger class implements all you need to send any kind of message to a logger application. A message automatically contains, next to the message data, information about the current application, thread, windows user and timestamp. For ease of use, a singleton instance of the logger class is available, so creation a logger class instance is not even needed.
Different types of messages can be sent to a log. Each message type has its own characteristics.
Flow messages, EnterMethod and ExitMethod, are messages that help to keep track of application flow.
Data messages can contain any kind of data like simple types (string, integer, datetime, etc), images and even complete files.
Exception and warning messages contain text with information about the exception or warning.
Logger command messages, for now only MailLog, are messages that instruct the logger application to perform a certain action like mailing the log to a specified recipient.