Program Listing for File log.hpp
↰ Return to documentation for file (log.hpp
)
#pragma once
#include <cstring>
#include <cstdio>
#include <pthread.h>
void log_init(int verbose);
void log_flush();
void _log(const char* level, const char* filename, unsigned line, const char* functionname, int tid, const char *format, ...);
void _log_dump(const char* level, const char* filename, unsigned line, const char* functionname, int tid, const char *format, ...);
#define LOG_DBG(...) _log("DEBUG", __FILE__, __LINE__, __func__, (int) pthread_self(), __VA_ARGS__)
#define LOG_INFO(...) _log("INFO", __FILE__, __LINE__, __func__, (int) pthread_self(), __VA_ARGS__)
#define LOG_WARN(...) _log("WARNING", __FILE__, __LINE__, __func__, (int) pthread_self(), __VA_ARGS__)
#define LOG_ERR(...) _log("ERROR", __FILE__, __LINE__, __func__, (int) pthread_self(), __VA_ARGS__)
#define LOG_DUMP(...) _log_dump("ERROR", __FILE__, __LINE__, __func__, (int) pthread_self(), __VA_ARGS__)
#ifdef ENABLE_TRACE
# define LOG_TRACE(...) _log("TRACE", __FILE__, __LINE__, __func__, (int) pthread_self(), __VA_ARGS__)
#else
# define LOG_TRACE(...)
#endif