clog icon indicating copy to clipboard operation
clog copied to clipboard

Make use of variadic macro for logging call.

Open lefi7z opened this issue 5 years ago • 0 comments

The function clog_info (/_debug/..) is now replaced by a variadic macro that "knows" the linenumber where it is. This change is due, because the dependency on va_copy already kind of enforces the use of C99 or later.

This very much simplifies the use of the logger: Instead of typing clog_info(CLOG(my_logger_id), "Hello, %s!", "world"); if suffices to pass the logger id: clog_info(my_logger_id, "Hello, %s!", "world");

The replacement depends on the C/C++ version used (variadic macros are part of the standard since C99/C++11). The preprocessor checks for the version and defines the macro if applicable.

This is backwards compatible, because if the macros are defined, then CLOG(id) is defined as the identity function doing nothing.

lefi7z avatar Aug 11 '19 17:08 lefi7z