base-logging
Classes | Namespaces | Macros | Enumerations
logging_printf_style.h File Reference
#include <string>
#include <stdio.h>
#include <stdarg.h>
#include <vector>
#include "../Singleton.hpp"

Go to the source code of this file.

Classes

class  base::logging::Logger
 Logger is a logger that allows priority based logging with minimal impact on performance and minimal configuration requirements. More...
 

Namespaces

 base
 
 base::logging
 

Macros

#define BASE_LOG_PRIORITY   6
 
#define LOG_DEBUG(FORMAT, ARGS...)
 
#define LOG_INFO(FORMAT, ARGS...)
 
#define LOG_WARN(FORMAT, ARGS...)
 
#define LOG_ERROR(FORMAT, ARGS...)
 
#define LOG_FATAL(FORMAT, ARGS...)
 
#define LOG_CONFIGURE(PRIO, STREAM)
 
#define BASE_LOG_NAMESPACE   ""
 
#define __STRINGIFY_(X)   #X
 
#define __STRINGIFY(X)   __STRINGIFY_(X)
 
#define __LOG(PRIO, FORMAT, ARGS...)   { ::base::logging::Logger::getInstance()->log(::base::logging::PRIO,__func__, __FILE__, __LINE__, __STRINGIFY(BASE_LOG_NAMESPACE), FORMAT, ## ARGS); }
 
#define LOG_CONFIGURE(PRIO, STREAM)   { ::base::logging::Logger::getInstance()->configure(::base::logging::PRIO, STREAM); }
 
#define LOG_FATAL(FORMAT, ARGS...)   __LOG(FATAL_P, FORMAT, ## ARGS)
 
#define LOG_ERROR(FORMAT, ARGS...)   __LOG(ERROR_P, FORMAT, ## ARGS)
 
#define LOG_WARN(FORMAT, ARGS...)   __LOG(WARN_P, FORMAT, ## ARGS)
 
#define LOG_INFO(FORMAT, ARGS...)   __LOG(INFO_P, FORMAT, ## ARGS)
 
#define LOG_DEBUG(FORMAT, ARGS...)   __LOG(DEBUG_P, FORMAT, ## ARGS)
 

Enumerations

enum  base::logging::Priority {
  base::logging::UNKNOWN = 0, base::logging::UNKNOWN_P = 0, base::logging::FATAL = 1, base::logging::FATAL_P =1,
  base::logging::ERROR = 2, base::logging::ERROR_P = 2, base::logging::WARN = 3, base::logging::WARN_P = 3,
  base::logging::INFO = 4, base::logging::INFO_P = 4, base::logging::DEBUG = 5, base::logging::DEBUG_P = 5,
  base::logging::ENDPRIORITIES
}
 
enum  base::logging::LogFormat { base::logging::DEFAULT = 0, base::logging::MULTILINE, base::logging::SHORT, base::logging::ENDLOGFORMATS }
 

Macro Definition Documentation

#define __LOG (   PRIO,
  FORMAT,
  ARGS... 
)    { ::base::logging::Logger::getInstance()->log(::base::logging::PRIO,__func__, __FILE__, __LINE__, __STRINGIFY(BASE_LOG_NAMESPACE), FORMAT, ## ARGS); }
#define __STRINGIFY (   X)    __STRINGIFY_(X)
#define __STRINGIFY_ (   X)    #X
#define BASE_LOG_NAMESPACE   ""
#define BASE_LOG_PRIORITY   6
#define LOG_CONFIGURE (   PRIO,
  STREAM 
)
#define LOG_CONFIGURE (   PRIO,
  STREAM 
)    { ::base::logging::Logger::getInstance()->configure(::base::logging::PRIO, STREAM); }
#define LOG_DEBUG (   FORMAT,
  ARGS... 
)
#define LOG_DEBUG (   FORMAT,
  ARGS... 
)    __LOG(DEBUG_P, FORMAT, ## ARGS)
#define LOG_ERROR (   FORMAT,
  ARGS... 
)
#define LOG_ERROR (   FORMAT,
  ARGS... 
)    __LOG(ERROR_P, FORMAT, ## ARGS)
#define LOG_FATAL (   FORMAT,
  ARGS... 
)
#define LOG_FATAL (   FORMAT,
  ARGS... 
)    __LOG(FATAL_P, FORMAT, ## ARGS)
#define LOG_INFO (   FORMAT,
  ARGS... 
)
#define LOG_INFO (   FORMAT,
  ARGS... 
)    __LOG(INFO_P, FORMAT, ## ARGS)
#define LOG_WARN (   FORMAT,
  ARGS... 
)
#define LOG_WARN (   FORMAT,
  ARGS... 
)    __LOG(WARN_P, FORMAT, ## ARGS)