AppLogger is a robust, powerful, and easy-to-use linkable library that allows an application programmer to provide meaningful, detailed, and run-time customizable diagnostic and other output from his or her application.
AppLogger is available for free under the GNU General Public license, Version 3 (GPLv3). For users who do not wish to use this license, a commercial license is also available.
- The AppLogger
applogger_log()function is nearly a drop-in replacement for the standard C library
printf()family of functions, but offering more flexibility and configurability.
- Messages sent to the
applogger_log()function can be output to the standard output stream as would be the case with
printf(), but also could be:
- Piped to another program or script for processing.
- Sent over a network socket.
- Sent to a file.
- Passed as an argument to a programmer-specified function (a "callback").
- Any combination of the above.
- AppLogger messages can identify the part of the program reporting the message.
- AppLogger messages can be categorized by priority (debug, warning, error, etc.).
- The way a message is handled can be configured based on the severity of the message, and the part of the application reporting the message.
- Optionally (and with a bit of programming overhead), AppLogger messages can report the function call hierarchy of the code reporting the message.
- All of the above are configurable in real time.
Is, Is Not
- A library that can be linked with an application, providing a set of function calls that the application may use to process its diagnostic (or other) output.
- Written in the C language, with extensions making it also suitable for linking with applications written in other languages (such as Perl and Java).
- Open-source software available for free under the GPL license.
- Alternatively available under a commercial license for users for whom the GPL license is not appropriate.
- A more polished version of the project that was originally called Whole Lotta Log.
AppLogger Is Not:
- A standalone application.
- A system-wide logging facility like syslog.
- An application's only means of output; AppLogger provides one mechanism for reporting messages, but it need not be the only one.
- A replacement for a debugger. AppLogger can certainly be used to enable and disable debugging output messages; while this is useful during program development it is not the right way to debug a developed program. The only replacement for a good debugger is another good debugger.
More details about AppLogger
More information about AppLogger can be found here.