terom@23: #ifndef LOGGER_HH terom@23: #define LOGGER_HH terom@23: terom@23: #include terom@23: terom@23: #include terom@23: terom@23: enum LogLevel { terom@24: FATAL, terom@24: ERROR, terom@24: WARN, terom@24: INFO, terom@24: DEBUG, terom@23: }; terom@23: terom@23: class Logger { terom@24: private: terom@24: std::ostream &stream; terom@24: enum LogLevel level; terom@24: const char *module; terom@23: terom@24: public: terom@24: Logger (std::ostream &stream, enum LogLevel level, const char *module); terom@23: terom@24: template Logger& operator<< (T &val) { terom@24: stream << val; terom@23: terom@24: return *this; terom@24: } terom@23: terom@23: terom@24: ~Logger (void); terom@23: }; terom@23: terom@23: std::ostream& operator<< (std::ostream &s, CL_NetComputer &c); terom@23: std::ostream& operator<< (std::ostream &s, CL_NetObject_Server &obj); terom@23: std::ostream& operator<< (std::ostream &s, CL_NetObject_Client &obj); terom@23: terom@23: #endif /* LOGGER_HH */