Mercurial > trustbridge
diff common/logging.h @ 252:bd7fb50078b4
Add logging.h for some logging / debug functions
The stuff from debug.h is now in logging.h
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 01 Apr 2014 10:49:40 +0000 |
parents | |
children | b033b16dd290 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/logging.h Tue Apr 01 10:49:40 2014 +0000 @@ -0,0 +1,63 @@ +#ifndef COMMON_LOGGING_H +#define COMMON_LOGGING_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * @file + * @brief Logging and debugging functions + */ + +#ifdef WIN32 + +#include <windows.h> + +/** @brief Gets the localized error message for the last error + * returned by GetLastError + * + * @returns utf8 error message that needs to be freed by the caller. + **/ + +char *getLastErrorMsg(); + +#endif + +/** + * @def DEBUGOUTPUT + * @brief If defined code for extra debugging output will be generated. + * + * Will be defined if current build is not an RELEASE_BUILD. + */ +#ifndef RELEASE_BUILD +#define DEBUGOUTPUT +#endif + +/** + * @def DEBUGPREFIX + * @brief A string prepended to debug output. + * + * Should be defined to indicate which module created the output. + */ +#ifndef DEBUGPREFIX +#define DEBUGPREFIX "" +#endif + +/** + * @def DEBUGPRINTF(fmt, ...) + * @brief Debug printf + * + * Prints to stderr if DEBUGOUTPUT is defined. + */ +#ifdef DEBUGOUTPUT +#define DEBUGPRINTF(fmt, ...) fprintf(stderr, DEBUGPREFIX "DEBUG: " fmt, ##__VA_ARGS__); +#else +#define DEBUGPRINTF(fmt, ...) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* COMMON_LOGGING_H */