10 #define _LOGGER_WARNING
12 #define _LOGGER_ERROR_THROW_EXCEPTION
17 template <
typename... Args>
20 (std::clog << ... << args);
24 template <
typename... Args>
27 (std::cout << ... << args);
32 template <
typename... Args>
33 void log(
const Args&... args) {
35 (std::clog << ... << args);
40 template <
typename... Args>
42 #ifdef _LOGGER_WARNING
43 std::clog <<
"WARNING: ";
44 (std::clog << ... << args);
49 template <
typename... Args>
52 std::cerr <<
"ERROR: ";
53 (std::cerr << ... << args);
55 #ifdef _LOGGER_ERROR_THROW_EXCEPTION
56 throw std::runtime_error(
"Look at the ERROR above. (thrown from utilities/.../logger.hpp)");
61 template <
typename... Args>
64 std::cerr <<
"DEBUG: ";
65 (std::cerr << ... << args);