|
libqi
1.12
|
Convenient log macro. More...
#include <map>#include <string>#include <iostream>#include <sstream>#include <cstdarg>#include <cstdio>#include <boost/function/function_fwd.hpp>#include <qi/config.hpp>#include <qi/os.hpp>Go to the source code of this file.
Classes | |
| class | qi::log::LogStream |
| Each log macro create a LogStream object. More... | |
Namespaces | |
| namespace | qi |
SDKLayout implementation. | |
| namespace | qi::log |
Log functions. | |
Defines | |
| #define | qiLogDebug(...) qi::log::LogStream(qi::log::debug, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self() |
| #define | qiLogVerbose(...) qi::log::LogStream(qi::log::verbose, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self() |
| #define | qiLogInfo(...) qi::log::LogStream(qi::log::info, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self() |
| #define | qiLogWarning(...) qi::log::LogStream(qi::log::warning, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self() |
| #define | qiLogError(...) qi::log::LogStream(qi::log::error, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self() |
| #define | qiLogFatal(...) qi::log::LogStream(qi::log::fatal, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__).self() |
Typedefs | |
|
typedef boost::function7< void, const qi::log::LogLevel, const qi::os::timeval, const char *, const char *, const char *, const char *, int > | qi::log::logFuncHandler |
| Boost delegate to log function (verbosity lv, date of log, category, message, file, function, line). e.g. | |
Enumerations | |
| enum | qi::log::LogLevel { qi::log::silent = 0, qi::log::fatal, qi::log::error, qi::log::warning, qi::log::info, qi::log::verbose, qi::log::debug } |
| Log level verbosity. More... | |
Functions | |
| QI_API void | qi::log::init (qi::log::LogLevel verb=qi::log::info, int ctx=0, bool synchronous=true) |
| init the logging system (could be avoided) | |
| QI_API void | qi::log::destroy () |
| stop and flush the logging systemshould be called in the main of program using atexit. for example: atexit(qi::log::destroy) This is useful only for asynchronous log. | |
| QI_API void | qi::log::log (const qi::log::LogLevel verb, const char *category, const char *msg, const char *file="", const char *fct="", const int line=0) |
| Log functionYou should call qiLog* macro. | |
| QI_API const char * | qi::log::logLevelToString (const qi::log::LogLevel verb) |
| Convert log verbosity to char*. | |
| QI_API const qi::log::LogLevel | qi::log::stringToLogLevel (const char *verb) |
| Convert string to log verbosity. | |
| QI_API void | qi::log::setVerbosity (const qi::log::LogLevel lv) |
| Set log verbosity.If you don't want any log use silent mode. | |
| QI_API qi::log::LogLevel | qi::log::verbosity () |
| Get log verbosity. | |
| QI_API void | qi::log::setContext (int ctx) |
| Set log context.Display log context (line, function, file). | |
| QI_API int | qi::log::context () |
| Get log context. | |
| QI_API void | qi::log::setSynchronousLog (bool sync) |
| Set synchronous logs. | |
| QI_API void | qi::log::addLogHandler (const std::string &name, qi::log::logFuncHandler fct) |
| Add log handler. | |
| QI_API void | qi::log::removeLogHandler (const std::string &name) |
| remove log handler. | |
| QI_API void | qi::log::flush () |
| flush asynchronous log. | |
Convenient log macro.
Definition in file log.hpp.