Public Member Functions | Protected Attributes | List of all members
cras::MemoryLogHelper Class Reference

#include <memory.h>

Inheritance diagram for cras::MemoryLogHelper:
Inheritance graph
[legend]

Public Member Functions

void checkLogLocationEnabled (::ros::console::LogLocation *loc) const override
 Check whether the log location is enabled. More...
 
void clear () const
 Delete all messages logged so far. More...
 
const ::std::list<::rosgraph_msgs::Log > & getMessages () const
 Return all messages logged so far. More...
 
void initializeImpl () const override
 Initialize the logger. It is not needed to check initialized as this function is only called when it was false. More...
 
void initializeLogLocationImpl (::ros::console::LogLocation *loc, const ::std::string &name, ::ros::console::Level level) const override
 
void logString (void *logger, ::ros::console::Level level, const std::string &str, const char *file, uint32_t line, const char *function) const override
 
void setLogLocationLevel (::ros::console::LogLocation *loc, ::ros::console::Level level) const override
 Set level of a log location. This is only called when global logging level changes. More...
 
- Public Member Functions inherited from cras::LogHelper
virtual const void * getId () const
 Return a unique identifier of this logger. These IDs are used for determining which logger has already logged something. More...
 
virtual ::ros::Time getTimeNow () const
 Get current time (used for throttling messages). By default, ROS time is returned, with fallback to wall time if ROS time is not initialized. More...
 
void initialize () const
 Initialize the logger. This function does what it needs and then calls initializeImpl(). More...
 
void initializeLogLocation (::ros::console::LogLocation *loc, const std::string &name, ::ros::console::Level level) const
 Initialize the given log location with proper data for later use. This is the function called from macros. This function checks whether log level is within bounds, corrects it if needed, calls initializeLogLocaionImpl(), and, if the passed log level was wrong, logs an additional error (after the log location has been initialized by the impl function). More...
 
void log (::ros::console::Level level, ::std::string format,...) const
 Log a message using the given log severity. More...
 
void log (::ros::console::Level level, const char *format,...) const
 Log a message using the given log severity. More...
 
 LogHelper ()
 
 LogHelper (const LogHelper &)=delete
 
 LogHelper (LogHelper &&)=delete
 
virtual void logString (void *logger, ::ros::console::Level level, const ::std::string &str, const char *file, uint32_t line, const char *function) const =0
 Write the given string to the log. More...
 
LogHelperoperator= (const LogHelper &)=delete
 
LogHelperoperator= (LogHelper &&)=delete
 
void print (::ros::console::FilterBase *filter, void *logger, ::ros::console::Level level, const ::std::string &str, const char *file, int line, const char *function) const
 Print function used by the macros. It basically just relays its work to logString(). More...
 
void print (::ros::console::FilterBase *filter, void *logger, ::ros::console::Level level, const ::std::stringstream &ss, const char *file, int line, const char *function) const
 Print function used by the macros. It basically just relays its work to logString(). More...
 
void void print (::ros::console::FilterBase *filter, void *logger, ::ros::console::Level level, const char *file, int line, const char *function, ::std::string fmt,...) const
 Print function used by the macros. It basically just relays its work to logString(). More...
 
void print (::ros::console::FilterBase *filter, void *logger, ::ros::console::Level level, const char *file, int line, const char *function, const char *fmt,...) const ROSCONSOLE_PRINTF_ATTRIBUTE(8
 Print function used by the macros. It basically just relays its work to logString(). More...
 
void print (::ros::console::Level level, const ::std::string &text) const
 Log a message using the given log severity. More...
 
void setGlobalLogger () const
 
virtual ~LogHelper ()=default
 

Protected Attributes

mutable ::std::list<::std::string > loggerNames
 Cache of names of known loggers. Do not ever erase items. More...
 
mutable ::std::list<::rosgraph_msgs::Log > messages
 The list of logged messages. More...
 

Additional Inherited Members

- Public Types inherited from cras::LogHelper
typedef ::std::shared_ptr< const ::cras::LogHelperConstPtr
 Const pointer to LogHelper. More...
 
typedef ::std::shared_ptr<::cras::LogHelperPtr
 Pointer to LogHelper. More...
 
- Public Attributes inherited from cras::LogHelper
bool initialized {false}
 Whether initialize() has been called at least once. Subclasses are required to handle this invariant. More...
 
- Protected Member Functions inherited from cras::LogHelper
virtual void initializeLogLocationImpl (::ros::console::LogLocation *loc, const std::string &name, ::ros::console::Level level) const =0
 Initialize the given log location with proper data for later use. This function is only called if the log location was not already initialized. More...
 

Detailed Description

Log helper redirecting the logging calls to ROS_ macros.

Definition at line 27 of file memory.h.

Member Function Documentation

◆ checkLogLocationEnabled()

void cras::MemoryLogHelper::checkLogLocationEnabled ( ::ros::console::LogLocation loc) const
overridevirtual

Check whether the log location is enabled.

Parameters
[in]locThe location to check.

Reimplemented from cras::LogHelper.

◆ clear()

void cras::MemoryLogHelper::clear ( ) const

Delete all messages logged so far.

◆ getMessages()

const ::std::list<::rosgraph_msgs::Log>& cras::MemoryLogHelper::getMessages ( ) const

Return all messages logged so far.

Returns
The messages.

◆ initializeImpl()

void cras::MemoryLogHelper::initializeImpl ( ) const
overridevirtual

Initialize the logger. It is not needed to check initialized as this function is only called when it was false.

Implements cras::LogHelper.

◆ initializeLogLocationImpl()

void cras::MemoryLogHelper::initializeLogLocationImpl ( ::ros::console::LogLocation loc,
const ::std::string &  name,
::ros::console::Level  level 
) const
override

◆ logString()

void cras::MemoryLogHelper::logString ( void *  logger,
::ros::console::Level  level,
const std::string &  str,
const char *  file,
uint32_t  line,
const char *  function 
) const
override

◆ setLogLocationLevel()

void cras::MemoryLogHelper::setLogLocationLevel ( ::ros::console::LogLocation loc,
::ros::console::Level  level 
) const
overridevirtual

Set level of a log location. This is only called when global logging level changes.

Parameters
[in,out]locThe location to update.
[in]levelThe new level.

Reimplemented from cras::LogHelper.

Member Data Documentation

◆ loggerNames

mutable ::std::list<::std::string> cras::MemoryLogHelper::loggerNames
protected

Cache of names of known loggers. Do not ever erase items.

Definition at line 55 of file memory.h.

◆ messages

mutable ::std::list<::rosgraph_msgs::Log> cras::MemoryLogHelper::messages
protected

The list of logged messages.

Definition at line 54 of file memory.h.


The documentation for this class was generated from the following file:


cras_cpp_common
Author(s): Martin Pecka
autogenerated on Sun Jan 14 2024 03:48:14