00001 #ifndef ERIS_LOG_H 00002 #define ERIS_LOG_H 00003 00004 #include <sigc++/object.h> 00005 #if SIGC_MAJOR_VERSION == 1 && SIGC_MINOR_VERSION == 0 00006 #include <sigc++/basic_signal.h> 00007 #else 00008 #include <sigc++/signal.h> 00009 #endif 00010 #include <string> 00011 00012 namespace Eris 00013 { 00014 00017 typedef enum { 00018 LOG_ERROR = 0, 00019 LOG_WARNING, 00020 LOG_NOTICE, 00021 LOG_VERBOSE, 00022 LOG_DEBUG 00023 } LogLevel; 00024 00026 const LogLevel DEFAULT_LOG = LOG_WARNING; 00027 00031 extern SigC::Signal2<void, LogLevel, const std::string&> Logged; 00032 00035 void setLogLevel(LogLevel lvl); 00036 00037 LogLevel getLogLevel(); 00038 00040 void log(LogLevel lvl, const char *str, ...); 00041 00042 } 00043 00044 #endif