Must have

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 __FILE__ and __LINE__

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 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.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.