Introduction
This is a simple yet useful file based logging library along with a sample client application demonstrating the usage of the library.
Background
Following are some of the features of this library.
- Allows logging messages by severity levels. Library currently supports 3 severity levels like Error, Warning and Information.
- Provides wrap around feature to wrap log files when maximum configured size is reached.
- Library provides feature to recover from exceptions. It basically attempts once to close the current log file and re-open a new one.
- Library is thread safe.
This library is more like a starter kit with all the base functions in place. Please feel free to customize it for your needs.
Using the code
Library usage is very simple. The object has to be initialized first using the Initialize method. This is where the log file name and location has to be specified. Optionally, the maximum log file size can be specified as well. The default maximum log file size is 20 MB. Log file will truncate automatically when the configured maximum size is reached.
CLogger TestLogger = new CLogger();
TestLogger.Initialize("C:", "Test.Log");
Start logging information right away. Each severity level has 3 overloads.
- Overload for logging message strings
- Overload for logging error codes and message strings
- Overload for logging class name, method name and message strings
TestLogger.LogInformation("My First Test Log Message");
TestLogger.LogWarning("My First Test Log Message");
TestLogger.LogError("My First Test Log Message");
TestLogger.LogInformation(1005, "My First Test Log Message");
TestLogger.LogInformation("LogClient", "TestLog", "My First Test Log Message");
Finally, this is how the logged statements look like.
[4/5/2008 1:36:29 AM],[1],[Information],LogClient:TestLog:My First Test Log Message
[4/5/2008 1:36:29 AM],[1],[Warning],LogClient:TestLog:My First Test Log Message
[4/5/2008 1:36:29 AM],[1],[Error],LogClient:TestLog:My First Test Log Message
Each statement has the date time stamp, thread id, severity and the message string.
Terminate the logger library using the Terminate statement.
TestLogger.Terminate();
Happy logging. As always, happy to hear any suggestions and criticisms.
History
Library Version 1.0 - April 05, 2008