I am looking for a gratis, stable, well documented, debug trace library for C/C++, which must be free for commercial use.
The recommended software must be simple to configure and use.
Output should be plain text, but structured for easy parsing, whether by CSV, keyword, or by column position within the text, etc, and each entry should contain:
- Identify caller E.g subsystem
- Severity parameter E.g Info, Warning, Error, etc
- Type of event E.g message received, timeout, memory allocation
- Descriptive text (a great bonus if this accepts
printf()type varags formatting and parameters)
- Optionally, some parameters, although I could bury those in the descriptive text and parse that to extract them later
- Nice to have would be automatic adding of
Obviously, I should be able to define values for the above, probably some enums or #define
It must be possible to completely remove all debug trace code, probably by a single #define
Nice to have
A choice of output E.g stdout, comX/ttyX, etc. Also nice would be the ability to send over TCP/HTTP with a receiving module provided. Whatever output is chosen, it must be flushed after each logging operation
The ability to define tracing levels (per software module) at run time, causing certain events not to be logged, rather than having to rebuild the code.
Any other fancy features you can offer :-)
I would also welcome the same functionality for Ada, Pascal, PHP, AngularJs 1.x and Python. It would be great if there were such a system with a single core engine and a few thin wrappers for various languages.