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