Go to the documentation of this file.00001 #ifndef QPID_MESSAGING_LOGGING_H
00002 #define QPID_MESSAGING_LOGGING_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "qpid/messaging/ImportExport.h"
00026
00027 #include <string>
00028
00029 namespace qpid {
00030 namespace messaging {
00036 enum Level { trace, debug, info, notice, warning, error, critical };
00037
00041 class QPID_MESSAGING_CLASS_EXTERN LoggerOutput
00042 {
00043 public:
00044 QPID_MESSAGING_EXTERN virtual ~LoggerOutput();
00045
00062 virtual void log(Level level, bool user, const char* file, int line, const char* function, const std::string& message) = 0;
00063 };
00064
00072 class QPID_MESSAGING_CLASS_EXTERN Logger
00073 {
00074 public:
00117 QPID_MESSAGING_EXTERN static void configure(int argc, const char* argv[], const std::string& prefix=std::string());
00118
00132 QPID_MESSAGING_EXTERN static std::string usage();
00133
00144 QPID_MESSAGING_EXTERN static void setOutput(LoggerOutput& output);
00145
00153 QPID_MESSAGING_EXTERN static void log(Level level, const char* file, int line, const char* function, const std::string& message);
00154
00155 private:
00156
00157 Logger();
00158 ~Logger();
00159
00160 Logger(const Logger&);
00161 Logger operator=(const Logger&);
00162 };
00163 }}
00164
00165 #endif