gem5  v20.1.0.0
Public Member Functions | Protected Attributes | List of all members
Trace::OstreamLogger Class Reference

Logging wrapper for ostreams with the format: <when>: <name>: <message-body> More...

#include <trace.hh>

Inheritance diagram for Trace::OstreamLogger:
Trace::Logger

Public Member Functions

 OstreamLogger (std::ostream &stream_)
 
void logMessage (Tick when, const std::string &name, const std::string &flag, const std::string &message) override
 Log formatted message. More...
 
std::ostream & getOstream () override
 Return an ostream that can be used to send messages to the 'same place' as formatted logMessage messages. More...
 
- Public Member Functions inherited from Trace::Logger
template<typename ... Args>
void dprintf (Tick when, const std::string &name, const char *fmt, const Args &...args)
 Log a single message. More...
 
template<typename ... Args>
void dprintf_flag (Tick when, const std::string &name, const std::string &flag, const char *fmt, const Args &...args)
 Log a single message with a flag prefix. More...
 
void dump (Tick when, const std::string &name, const void *d, int len, const std::string &flag)
 Dump a block of data of length len. More...
 
void setIgnore (ObjectMatch &ignore_)
 Set objects to ignore. More...
 
void addIgnore (const ObjectMatch &ignore_)
 Add objects to ignore. More...
 
virtual ~Logger ()
 

Protected Attributes

std::ostream & stream
 
- Protected Attributes inherited from Trace::Logger
ObjectMatch ignore
 Name match for objects to ignore. More...
 

Detailed Description

Logging wrapper for ostreams with the format: <when>: <name>: <message-body>

Definition at line 101 of file trace.hh.

Constructor & Destructor Documentation

◆ OstreamLogger()

Trace::OstreamLogger::OstreamLogger ( std::ostream &  stream_)
inline

Definition at line 107 of file trace.hh.

Member Function Documentation

◆ getOstream()

std::ostream& Trace::OstreamLogger::getOstream ( )
inlineoverridevirtual

Return an ostream that can be used to send messages to the 'same place' as formatted logMessage messages.

This can be implemented to use a logger's underlying ostream, to provide an ostream which formats the output in some way, or just set to one of std::cout, std::cerr

Implements Trace::Logger.

Definition at line 113 of file trace.hh.

References stream.

◆ logMessage()

void Trace::OstreamLogger::logMessage ( Tick  when,
const std::string &  name,
const std::string &  flag,
const std::string &  message 
)
overridevirtual

Log formatted message.

Implements Trace::Logger.

Definition at line 147 of file trace.cc.

References ccprintf(), DTRACE, Trace::Logger::ignore, ObjectMatch::match(), MaxTick, name(), print_backtrace(), STATIC_ERR, and stream.

Member Data Documentation

◆ stream

std::ostream& Trace::OstreamLogger::stream
protected

Definition at line 104 of file trace.hh.

Referenced by getOstream(), and logMessage().


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

Generated on Wed Sep 30 2020 14:03:14 for gem5 by doxygen 1.8.17