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

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

#include <trace.hh>

Inheritance diagram for gem5::Trace::OstreamLogger:
gem5::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 gem5::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 gem5::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 112 of file trace.hh.

Constructor & Destructor Documentation

◆ OstreamLogger()

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

Definition at line 118 of file trace.hh.

Member Function Documentation

◆ getOstream()

std::ostream& gem5::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 gem5::Trace::Logger.

Definition at line 124 of file trace.hh.

References stream.

◆ logMessage()

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

Log formatted message.

Implements gem5::Trace::Logger.

Definition at line 149 of file trace.cc.

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

Referenced by TEST().

Member Data Documentation

◆ stream

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

Definition at line 115 of file trace.hh.

Referenced by getOstream(), and logMessage().


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

Generated on Tue Sep 21 2021 12:32:32 for gem5 by doxygen 1.8.17