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

◆ __LOG

#define __LOG (   PRIO,
  FORMAT,
  ARGS ... 
)    { ::base::logging::Logger::getInstance()->log(::base::logging::PRIO,__func__, __FILE__, __LINE__, __STRINGIFY(BASE_LOG_NAMESPACE), FORMAT, ## ARGS); }

◆ __STRINGIFY

#define __STRINGIFY (   X)    __STRINGIFY_(X)

◆ __STRINGIFY_

#define __STRINGIFY_ (   X)    #X

◆ BASE_LOG_NAMESPACE

#define BASE_LOG_NAMESPACE   ""

◆ BASE_LOG_PRIORITY

#define BASE_LOG_PRIORITY   6

◆ LOG_CONFIGURE [1/2]

#define LOG_CONFIGURE (   PRIO,
  STREAM 
)

◆ LOG_CONFIGURE [2/2]

#define LOG_CONFIGURE (   PRIO,
  STREAM 
)    { ::base::logging::Logger::getInstance()->configure(::base::logging::PRIO, STREAM); }

◆ LOG_DEBUG [1/2]

#define LOG_DEBUG (   FORMAT,
  ARGS... 
)

◆ LOG_DEBUG [2/2]

#define LOG_DEBUG (   FORMAT,
  ARGS... 
)    __LOG(DEBUG_P, FORMAT, ## ARGS)

◆ LOG_ERROR [1/2]

#define LOG_ERROR (   FORMAT,
  ARGS... 
)

◆ LOG_ERROR [2/2]

#define LOG_ERROR (   FORMAT,
  ARGS... 
)    __LOG(ERROR_P, FORMAT, ## ARGS)

◆ LOG_FATAL [1/2]

#define LOG_FATAL (   FORMAT,
  ARGS... 
)

◆ LOG_FATAL [2/2]

#define LOG_FATAL (   FORMAT,
  ARGS... 
)    __LOG(FATAL_P, FORMAT, ## ARGS)

◆ LOG_INFO [1/2]

#define LOG_INFO (   FORMAT,
  ARGS... 
)

◆ LOG_INFO [2/2]

#define LOG_INFO (   FORMAT,
  ARGS... 
)    __LOG(INFO_P, FORMAT, ## ARGS)

◆ LOG_WARN [1/2]

#define LOG_WARN (   FORMAT,
  ARGS... 
)

◆ LOG_WARN [2/2]

#define LOG_WARN (   FORMAT,
  ARGS... 
)    __LOG(WARN_P, FORMAT, ## ARGS)