27 #ifndef SCHNEK_LOGGER_HPP_ 28 #define SCHNEK_LOGGER_HPP_ 31 #include <boost/preprocessor/control/iif.hpp> 32 #include <boost/preprocessor/facilities/empty.hpp> 33 #include <boost/preprocessor/comparison/greater_equal.hpp> 38 #include "singleton.hpp" 54 #define SCHNEK_TRACE_LOG(i,x) \ 55 BOOST_PP_IIF( BOOST_PP_GREATER_EQUAL( LOGLEVEL, i ), \ 56 schnek::Logger::instance().out() << __LINE__ << " " << __FILE__ << ": "<< x << "\n";, \ 72 #define SCHNEK_TRACE_ERR(i,x) \ 73 BOOST_PP_IIF( BOOST_PP_GREATER_EQUAL( LOGLEVEL, i ), \ 74 schnek::Logger::instance().err() << __LINE__ << " " << __FILE__ << ": " << x << "\n";, \ 78 #define SCHNEK_TRACE_ENTER_FUNCTION(i) \ 79 BOOST_PP_IIF( BOOST_PP_GREATER_EQUAL( LOGLEVEL, i ), \ 80 schnek::Logger::instance().out() << "Entering " << BOOST_CURRENT_FUNCTION << std::endl;, \ 84 #define SCHNEK_TRACE_EXIT_FUNCTION(i) \ 85 BOOST_PP_IIF( BOOST_PP_GREATER_EQUAL( LOGLEVEL, i ), \ 86 schnek::Logger::instance().out() << "Leaving " << BOOST_CURRENT_FUNCTION << std::endl;, \ 101 #include "singleton.hpp" 117 std::ostream &
out() {
return std::cout; }
123 std::ostream &
err() {
return std::cerr; }
165 #endif // LOGGER_HPP_ Definition: singleton.hpp:79
std::ostream & out()
Definition: logger.hpp:117
Definition: singleton.hpp:42
std::ostream & err()
Definition: logger.hpp:123
Definition: logger.hpp:110