Classes | Namespaces | Defines | Typedefs | Functions | Variables
console.h File Reference
#include "console_backend.h"
#include <cstdio>
#include <sstream>
#include <ros/time.h>
#include <cstdarg>
#include <ros/macros.h>
#include <map>
#include "rosconsole/macros_generated.h"
Include dependency graph for console.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ros::console::FilterBase
 Base-class for filters. Filters allow full user-defined control over whether or not a message should print. The ROS_X_FILTER... macros provide the filtering functionality. More...
struct  ros::console::FilterParams
 Parameter structure passed to FilterBase::isEnabled(...);. Includes both input and output parameters. More...
struct  ros::console::Formatter
class  ros::console::LogAppender
struct  ros::console::LogLocation
 Internal. More...
struct  ros::console::Token

Namespaces

namespace  boost
namespace  ros
namespace  ros::console

Defines

#define __ROSCONSOLE_FUNCTION__   ""
#define ROS_LIKELY(x)   __builtin_expect((x),1)
#define ROS_LOG(level, name,...)   ROS_LOG_COND(true, level, name, __VA_ARGS__)
 Log to a given named logger at a given verbosity level, with printf-style formatting.
#define ROS_LOG_COND(cond, level, name,...)
 Log to a given named logger at a given verbosity level, only if a given condition has been met, with printf-style formatting.
#define ROS_LOG_FILTER(filter, level, name,...)
 Log to a given named logger at a given verbosity level, with user-defined filtering, with printf-style formatting.
#define ROS_LOG_ONCE(level, name,...)
 Log to a given named logger at a given verbosity level, only the first time it is hit when enabled, with printf-style formatting.
#define ROS_LOG_STREAM(level, name, args)   ROS_LOG_STREAM_COND(true, level, name, args)
 Log to a given named logger at a given verbosity level, with stream-style formatting.
#define ROS_LOG_STREAM_COND(cond, level, name, args)
 Log to a given named logger at a given verbosity level, only if a given condition has been met, with stream-style formatting.
#define ROS_LOG_STREAM_FILTER(filter, level, name, args)
 Log to a given named logger at a given verbosity level, with user-defined filtering, with stream-style formatting.
#define ROS_LOG_STREAM_ONCE(level, name, args)
 Log to a given named logger at a given verbosity level, only the first time it is hit when enabled, with printf-style formatting.
#define ROS_LOG_STREAM_THROTTLE(rate, level, name, args)
 Log to a given named logger at a given verbosity level, limited to a specific rate of printing, with printf-style formatting.
#define ROS_LOG_THROTTLE(rate, level, name,...)
 Log to a given named logger at a given verbosity level, limited to a specific rate of printing, with printf-style formatting.
#define ROS_UNLIKELY(x)   __builtin_expect((x),0)
#define ROSCONSOLE_AUTOINIT
 Initializes the rosconsole library. Usually unnecessary to call directly.
#define ROSCONSOLE_DECL
#define ROSCONSOLE_DEFAULT_NAME   ROSCONSOLE_NAME_PREFIX
#define ROSCONSOLE_DEFINE_LOCATION(cond, level, name)
#define ROSCONSOLE_MIN_SEVERITY   ROSCONSOLE_SEVERITY_DEBUG
#define ROSCONSOLE_NAME_PREFIX   ROSCONSOLE_ROOT_LOGGER_NAME "." ROSCONSOLE_PACKAGE_NAME
#define ROSCONSOLE_PACKAGE_NAME   "unknown_package"
#define ROSCONSOLE_PRINT_AT_LOCATION(...)   ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(0, __VA_ARGS__)
#define ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(filter,...)   ::ros::console::print(filter, loc.logger_, loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
#define ROSCONSOLE_PRINT_STREAM_AT_LOCATION(args)   ROSCONSOLE_PRINT_STREAM_AT_LOCATION_WITH_FILTER(0, args)
#define ROSCONSOLE_PRINT_STREAM_AT_LOCATION_WITH_FILTER(filter, args)
#define ROSCONSOLE_PRINTF_ATTRIBUTE(a, b)
#define ROSCONSOLE_ROOT_LOGGER_NAME   "ros"
#define ROSCONSOLE_SEVERITY_DEBUG   0
#define ROSCONSOLE_SEVERITY_ERROR   3
#define ROSCONSOLE_SEVERITY_FATAL   4
#define ROSCONSOLE_SEVERITY_INFO   1
#define ROSCONSOLE_SEVERITY_NONE   5
#define ROSCONSOLE_SEVERITY_WARN   2

Typedefs

typedef boost::shared_ptr< Token > ros::console::TokenPtr
typedef std::vector< TokenPtr > ros::console::V_Token

Functions

ROSCONSOLE_DECL void ros::console::checkLogLocationEnabled (LogLocation *loc)
 Internal.
ROSCONSOLE_DECL void ros::console::formatToBuffer (boost::shared_array< char > &buffer, size_t &buffer_size, const char *fmt,...)
ROSCONSOLE_DECL std::string ros::console::formatToString (const char *fmt,...)
ROSCONSOLE_DECL bool ros::console::get_loggers (std::map< std::string, levels::Level > &loggers)
ROSCONSOLE_DECL void ros::console::initialize ()
 Don't call this directly. Performs any required initialization/configuration. Happens automatically when using the macro API.
ROSCONSOLE_DECL void ros::console::initializeLogLocation (LogLocation *loc, const std::string &name, Level level)
 Internal.
ROSCONSOLE_DECL void ros::console::notifyLoggerLevelsChanged ()
 Tells the system that a logger's level has changed.
ROSCONSOLE_DECL void ros::console::print (FilterBase *filter, void *logger, Level level, const char *file, int line, const char *function, const char *fmt,...) ROSCONSOLE_PRINTF_ATTRIBUTE(7
 Don't call this directly. Use the ROS_LOG() macro instead.
ROSCONSOLE_DECL void
ROSCONSOLE_DECL void 
ros::console::print (FilterBase *filter, void *logger, Level level, const std::stringstream &str, const char *file, int line, const char *function)
ROSCONSOLE_DECL void ros::console::register_appender (LogAppender *appender)
ROSCONSOLE_DECL void ros::console::registerLogLocation (LogLocation *loc)
 Registers a logging location with the system.
ROSCONSOLE_DECL bool ros::console::set_logger_level (const std::string &name, levels::Level level)
ROSCONSOLE_DECL void ros::console::setFixedFilterToken (const std::string &key, const std::string &val)
ROSCONSOLE_DECL void ros::console::setLogLocationLevel (LogLocation *loc, Level level)
 Internal.
ROSCONSOLE_DECL void ros::console::shutdown ()
ROSCONSOLE_DECL void ros::console::vformatToBuffer (boost::shared_array< char > &buffer, size_t &buffer_size, const char *fmt, va_list args)

Variables

ROSCONSOLE_DECL Formatter ros::console::g_formatter
 Only exported because the implementation need it. Do not use directly.
ROSCONSOLE_DECL bool ros::console::g_initialized = false
 Only exported because the macros need it. Do not use directly.
ROSCONSOLE_DECL std::string ros::console::g_last_error_message = "Unknown Error"
 Only exported because the TopicManager need it. Do not use directly.
struct ROSCONSOLE_DECL ros::console::LogLocation

Define Documentation

#define __ROSCONSOLE_FUNCTION__   ""

Definition at line 283 of file console.h.

#define ROS_LIKELY (   x)    __builtin_expect((x),1)

Definition at line 274 of file console.h.

#define ROS_LOG (   level,
  name,
  ... 
)    ROS_LOG_COND(true, level, name, __VA_ARGS__)

Log to a given named logger at a given verbosity level, with printf-style formatting.

Parameters:
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 516 of file console.h.

#define ROS_LOG_COND (   cond,
  level,
  name,
  ... 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(cond, level, name); \
    \
    if (ROS_UNLIKELY(enabled)) \
    { \
      ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, only if a given condition has been met, with printf-style formatting.

Note:
The condition will only be evaluated if this logging statement is enabled
Parameters:
condBoolean condition to be evaluated
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 368 of file console.h.

#define ROS_LOG_FILTER (   filter,
  level,
  name,
  ... 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(true, level, name); \
    if (ROS_UNLIKELY(enabled) && (filter)->isEnabled()) \
    { \
      ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(filter, __VA_ARGS__); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, with user-defined filtering, with printf-style formatting.

Parameters:
filterpointer to the filter to be used
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 483 of file console.h.

#define ROS_LOG_ONCE (   level,
  name,
  ... 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(true, level, name); \
    static bool hit = false; \
    if (ROS_UNLIKELY(enabled) && ROS_UNLIKELY(!hit)) \
    { \
      hit = true; \
      ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, only the first time it is hit when enabled, with printf-style formatting.

Parameters:
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 404 of file console.h.

#define ROS_LOG_STREAM (   level,
  name,
  args 
)    ROS_LOG_STREAM_COND(true, level, name, args)

Log to a given named logger at a given verbosity level, with stream-style formatting.

Parameters:
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 523 of file console.h.

#define ROS_LOG_STREAM_COND (   cond,
  level,
  name,
  args 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(cond, level, name); \
    if (ROS_UNLIKELY(enabled)) \
    { \
      ROSCONSOLE_PRINT_STREAM_AT_LOCATION(args); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, only if a given condition has been met, with stream-style formatting.

Note:
The condition will only be evaluated if this logging statement is enabled
Parameters:
condBoolean condition to be evaluated
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 388 of file console.h.

#define ROS_LOG_STREAM_FILTER (   filter,
  level,
  name,
  args 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(true, level, name); \
    if (ROS_UNLIKELY(enabled) && (filter)->isEnabled()) \
    { \
      ROSCONSOLE_PRINT_STREAM_AT_LOCATION_WITH_FILTER(filter, args); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, with user-defined filtering, with stream-style formatting.

Parameters:
condBoolean condition to be evaluated
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 500 of file console.h.

#define ROS_LOG_STREAM_ONCE (   level,
  name,
  args 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(true, level, name); \
    static bool __ros_log_stream_once__hit__ = false; \
    if (ROS_UNLIKELY(enabled) && ROS_UNLIKELY(!__ros_log_stream_once__hit__)) \
    { \
      __ros_log_stream_once__hit__ = true; \
      ROSCONSOLE_PRINT_STREAM_AT_LOCATION(args); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, only the first time it is hit when enabled, with printf-style formatting.

Parameters:
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.

Definition at line 423 of file console.h.

#define ROS_LOG_STREAM_THROTTLE (   rate,
  level,
  name,
  args 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(true, level, name); \
    static double __ros_log_stream_throttle__last_hit__ = 0.0; \
    ::ros::Time __ros_log_stream_throttle__now__ = ::ros::Time::now(); \
    if (ROS_UNLIKELY(enabled) && ROS_UNLIKELY(__ros_log_stream_throttle__last_hit__ + rate <= __ros_log_stream_throttle__now__.toSec())) \
    { \
      __ros_log_stream_throttle__last_hit__ = __ros_log_stream_throttle__now__.toSec(); \
      ROSCONSOLE_PRINT_STREAM_AT_LOCATION(args); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, limited to a specific rate of printing, with printf-style formatting.

Parameters:
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.
rateThe rate it should actually trigger at

Definition at line 463 of file console.h.

#define ROS_LOG_THROTTLE (   rate,
  level,
  name,
  ... 
)
Value:
do \
  { \
    ROSCONSOLE_DEFINE_LOCATION(true, level, name); \
    static double last_hit = 0.0; \
    ::ros::Time now = ::ros::Time::now(); \
    if (ROS_UNLIKELY(enabled) && ROS_UNLIKELY(last_hit + rate <= now.toSec())) \
    { \
      last_hit = now.toSec(); \
      ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
    } \
  } while(0)

Log to a given named logger at a given verbosity level, limited to a specific rate of printing, with printf-style formatting.

Parameters:
levelOne of the levels specified in ros::console::levels::Level
nameName of the logger. Note that this is the fully qualified name, and does NOT include "ros.<package_name>". Use ROSCONSOLE_DEFAULT_NAME if you would like to use the default name.
rateThe rate it should actually trigger at

Definition at line 442 of file console.h.

#define ROS_UNLIKELY (   x)    __builtin_expect((x),0)

Definition at line 275 of file console.h.

Value:
do \
  { \
    if (ROS_UNLIKELY(!::ros::console::g_initialized)) \
    { \
      ::ros::console::initialize(); \
    } \
  } while(0)

Initializes the rosconsole library. Usually unnecessary to call directly.

Definition at line 318 of file console.h.

#define ROSCONSOLE_DECL

Definition at line 57 of file console.h.

Definition at line 295 of file console.h.

#define ROSCONSOLE_DEFINE_LOCATION (   cond,
  level,
  name 
)
Value:
ROSCONSOLE_AUTOINIT; \
  static ::ros::console::LogLocation loc = {false, false, ::ros::console::levels::Count, 0}; /* Initialized at compile-time */ \
  if (ROS_UNLIKELY(!loc.initialized_)) \
  { \
    initializeLogLocation(&loc, name, level); \
  } \
  if (ROS_UNLIKELY(loc.level_ != level)) \
  { \
    setLogLocationLevel(&loc, level); \
    checkLogLocationEnabled(&loc); \
  } \
  bool enabled = loc.logger_enabled_ && (cond);

Definition at line 327 of file console.h.

Define ROSCONSOLE_MIN_SEVERITY=ROSCONSOLE_SEVERITY_[DEBUG|INFO|WARN|ERROR|FATAL] in your build options to compile out anything below that severity

Definition at line 311 of file console.h.

Definition at line 294 of file console.h.

#define ROSCONSOLE_PACKAGE_NAME   "unknown_package"

Definition at line 290 of file console.h.

Definition at line 344 of file console.h.

#define ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER (   filter,
  ... 
)    ::ros::console::print(filter, loc.logger_, loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)

Definition at line 341 of file console.h.

Definition at line 356 of file console.h.

#define ROSCONSOLE_PRINT_STREAM_AT_LOCATION_WITH_FILTER (   filter,
  args 
)
Value:
do \
  { \
    std::stringstream __rosconsole_print_stream_at_location_with_filter__ss__; \
    __rosconsole_print_stream_at_location_with_filter__ss__ << args; \
    ::ros::console::print(filter, loc.logger_, loc.level_, __rosconsole_print_stream_at_location_with_filter__ss__, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__); \
  } while (0)

Definition at line 348 of file console.h.

#define ROSCONSOLE_PRINTF_ATTRIBUTE (   a,
 
)

Definition at line 67 of file console.h.

#define ROSCONSOLE_ROOT_LOGGER_NAME   "ros"

Definition at line 293 of file console.h.

#define ROSCONSOLE_SEVERITY_DEBUG   0

Definition at line 298 of file console.h.

#define ROSCONSOLE_SEVERITY_ERROR   3

Definition at line 301 of file console.h.

#define ROSCONSOLE_SEVERITY_FATAL   4

Definition at line 302 of file console.h.

#define ROSCONSOLE_SEVERITY_INFO   1

Definition at line 299 of file console.h.

#define ROSCONSOLE_SEVERITY_NONE   5

Definition at line 303 of file console.h.

#define ROSCONSOLE_SEVERITY_WARN   2

Definition at line 300 of file console.h.



rosconsole
Author(s): Josh Faust
autogenerated on Fri Aug 28 2015 12:33:01