Go to the documentation of this file.
18 #ifndef SDF_CONSOLE_HH_
19 #define SDF_CONSOLE_HH_
26 #include <sdf/sdf_config.h>
33 #pragma warning(disable: 4251)
39 inline namespace SDF_VERSION_NAMESPACE {
46 #define sdfdbg (sdf::Console::Instance()->Log("Dbg", __FILE__, __LINE__))
49 #define sdfmsg (sdf::Console::Instance()->ColorMsg("Msg", \
50 __FILE__, __LINE__, 32))
53 #define sdfwarn (sdf::Console::Instance()->ColorMsg("Warning", \
54 __FILE__, __LINE__, 33))
57 #define sdferr (sdf::Console::Instance()->ColorMsg("Error", \
58 __FILE__, __LINE__, 31))
83 public:
template <
class T>
91 public:
void Prefix(
const std::string &_lbl,
92 const std::string &_file,
93 unsigned int _line,
int _color);
96 private: std::ostream *stream;
122 const std::string &file,
123 unsigned int line,
int color);
128 const std::string &file,
133 private: std::unique_ptr<ConsolePrivate> dataPtr;
159 *this->stream << _rhs;
162 if (Console::Instance()->dataPtr->logFileStream.is_open())
164 Console::Instance()->dataPtr->logFileStream << _rhs;
165 Console::Instance()->dataPtr->logFileStream.flush();
static ConsolePtr Instance()
Return an instance to this class.
Console::ConsoleStream logStream
log stream
Definition: Console.hh:147
namespace for Simulation Description Format parser
Definition: Actor.hh:33
std::ostream & operator<<(std::ostream &os, ParamStreamer< T > s)
Definition: Param.hh:75
ConsoleStream & operator<<(const T &_rhs)
Redirect whatever is passed in to both our ostream (if non-NULL) and the log file (if open).
Console::ConsoleStream msgStream
message stream
Definition: Console.hh:144
An ostream-like class that we'll use for logging.
Definition: Console.hh:72
Message, error, warning, and logging functionality.
Definition: Console.hh:69
Definition: Console.hh:139
void Prefix(const std::string &_lbl, const std::string &_file, unsigned int _line, int _color)
Print a prefix to both terminal and log file.
virtual ~Console()
Destructor.
static void Clear()
Clear out the current console to make room for a new one.
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:48
std::shared_ptr< Console > ConsolePtr
Definition: Console.hh:65
ConsoleStream & ColorMsg(const std::string &lbl, const std::string &file, unsigned int line, int color)
Use this to output a colored message to the terminal.
ConsoleStream(std::ostream *_stream)
Constructor.
Definition: Console.hh:76
ConsolePrivate()
Constructor.
Definition: Console.hh:141
ConsoleStream & Log(const std::string &lbl, const std::string &file, unsigned int line)
Use this to output a message to a log file.
std::ofstream logFileStream
logfile stream
Definition: Console.hh:150
void SetQuiet(bool _q)
Set quiet output.