MCPcopy Create free account
hub / github.com/OpenKinect/libfreenect2 / ConsoleLogger

Class ConsoleLogger

src/logging.cpp:103–123  ·  view source on GitHub ↗

Logger class to the console (stderr). */

Source from the content-addressed store, hash-verified

101
102/** Logger class to the console (stderr). */
103class ConsoleLogger : public Logger
104{
105public:
106 ConsoleLogger(Level level)
107 {
108 level_ = level;
109 //std::ios_base::unitbuf causes automatic flushing which access
110 //thread local variable via std::uncaught_exception().
111 //This causes deadlock with ocl-icd until its recent update.
112 //Accessing TLS has a slight performance penalty.
113 //log() always flush the ostream so unitbuf is unnecessary anyway.
114 std::nounitbuf(std::cerr);
115 }
116 virtual ~ConsoleLogger() {}
117 virtual void log(Level level, const std::string &message)
118 {
119 if(level > level_) return;
120
121 (level <= Warning ? std::cerr : std::cout) << "[" << level2str(level) << "] " << message << std::endl;
122 }
123};
124
125Logger *createConsoleLogger(Logger::Level level)
126{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected