xtd - Reference Guide  0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Public Member Functions | List of all members
xtd::diagnostics::console_trace_listener Class Reference

#include <console_trace_listener.h>

Definition

Directs tracing or debugging output to either the standard output or the standard error stream.

Namespace
xtd::diagnostics
Library
xtd.core
Examples
The following example shows how to use xtd::diagnostics::console_trace_listener class.
#define DEBUG // Force debug mode even if example is builded in release.
#include <memory>
#include <thread>
#include <xtd/xtd>
using namespace std;
using namespace std::literals;
using namespace std::this_thread;
using namespace xtd::diagnostics;
int main() {
debug::listeners({make_shared<console_trace_listener>()});
for (auto step = 1; step <= 10; step++) {
debug::write_line("working step {}...", step);
sleep_for(300ms);
}
}
// This code produces the following output :
//
// Begin
// working step 1...
// working step 2...
// working step 3...
// working step 4...
// working step 5...
// working step 6...
// working step 7...
// working step 8...
// working step 9...
// working step 10...
// End

Public Member Functions

 console_trace_listener ()
 Initializes a new instance of the xtd::diagnostics::console_trace_listener class with trace output written to the standard output stream. More...
 
 console_trace_listener (bool use_error_stream)
 Initializes a new instance of the xtd::diagnostics::console_trace_listener class with an option to write trace output to the standard output stream or the standard error stream. More...
 
- Public Member Functions inherited from xtd::diagnostics::ostream_trace_listener
 ostream_trace_listener (const std::ostream &ostream)
 Initializes a new instance of the xtd::diagnostics::ostream_trace_listener class with a specified ostream. More...
 
void close () override
 When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. More...
 
void flush () override
 When overridden in a derived class, flushes the output buffer. More...
 
virtual const std::ostream & ostream () const
 Gets the underlying stream. More...
 
virtual void ostream (const std::ostream &ostream)
 Sets the underlying stream. More...
 
void write (const xtd::ustring &message) override
 Writes the message to the listener you create when you implement the trace_listener class. More...
 
void write_line (const xtd::ustring &message) override
 Writes the message to the listener you create when you implement the trace_listener class followed by a line terminator.followed by a line terminator. More...
 
- Public Member Functions inherited from xtd::diagnostics::trace_listener
 trace_listener ()=default
 Initializes a new instance of the trace_listener class. More...
 
 trace_listener (const xtd::ustring &name)
 Initializes a new instance of the trace_listener class using the specified name as the listener. More...
 
virtual void fail (const xtd::ustring &message)
 Emits an error message to the listener you create when you implement the TraceListener class. More...
 
virtual void fail (const xtd::ustring &message, const xtd::ustring &detail_message)
 Emits the specified error message. More...
 
unsigned int indent_level () const
 Gets the indent level. More...
 
void indent_level (unsigned int indent_level)
 Sets the indent level. More...
 
unsigned int indent_size () const
 Gets the number of spaces in an indent. More...
 
void indent_size (unsigned int indent_size)
 Sets the number of spaces in an indent. More...
 
virtual bool is_thread_safe () const
 Gets a value indicating whether the trace listener is thread safe. More...
 
const xtd::ustringname () const
 Gets or sets a name for this TraceListener. More...
 
void name (const xtd::ustring &name)
 Sets a name for this TraceListener. More...
 
template<typename object >
void trace_data (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, const xtd::diagnostics::trace_event_type &event_type, int id, const object &data)
 Writes trace information, a data object and event information to the listener specific output. More...
 
template<typename object >
void trace_data (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, const xtd::diagnostics::trace_event_type &event_type, int id, const std::vector< object > &data)
 Writes trace information, a data object and event information to the listener specific output. More...
 
template<typename ... objects>
void trace_data (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, const xtd::diagnostics::trace_event_type &event_type, int id, const objects &... data)
 Writes trace information, an array of data objects and event information to the listener specific output. More...
 
virtual void trace_event (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, const xtd::diagnostics::trace_event_type &event_type, int id)
 Writes trace and event information to the listener specific output. More...
 
virtual void trace_event (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, const xtd::diagnostics::trace_event_type &event_type, int id, const xtd::ustring &message)
 Writes trace information, a message, and event information to the listener specific output. More...
 
template<typename ... objects>
void trace_event (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, const xtd::diagnostics::trace_event_type &event_type, int id, const xtd::ustring &format, const objects &... args)
 Writes trace information, a formatted array of objects and event information to the listener specific output. More...
 
const trace_optionstrace_output_options () const
 Gets the trace output options. More...
 
void trace_output_options (const trace_options &trace_output_options)
 Sets the trace output options. More...
 
template<typename activity_id_type >
void trace_transfer (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, int id, const xtd::ustring &message, const activity_id_type &related_activity_id)
 Writes trace information, a message, a related activity identity and event information to the listener specific output. More...
 
template<typename object >
void write (const object &o)
 Writes the value of the object's ToString method to the listener you create when you implement the TraceListener class. More...
 
template<typename object >
void write (const object &o, const xtd::ustring &category)
 Writes a category name and the value of the object's ToString method to the listener you create when you implement the TraceListener class. More...
 
template<typename object >
void write_line (const object &o)
 Writes the value of the object's ToString method to the listener you create when you implement the TraceListener class. More...
 
template<typename object >
void write_line (const object &o, const xtd::ustring &category)
 Writes a category name and the value of the object's ToString method to the listener you create when you implement the TraceListener class. More...
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object. More...
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object. More...
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type. More...
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const
 Gets the type of the current instance. More...
 
virtual xtd::ustring to_string () const noexcept
 Returns a std::string that represents the current object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from xtd::object
static bool equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are considered equal. More...
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance. More...
 
- Protected Member Functions inherited from xtd::diagnostics::trace_listener
bool need_indent () const
 Gets a value indicating whether to indent the output. More...
 
void need_indent (bool need_indent)
 Sets a value indicating whether to indent the output. More...
 
void thread_safe (bool thread_safe)
 Sets a value indicating whether the trace listener is thread safe. More...
 
virtual void write_indent ()
 Writes the indent to the listener you create when you implement this class, and resets the NeedIndent property to false. More...
 

Constructor & Destructor Documentation

◆ console_trace_listener() [1/2]

xtd::diagnostics::console_trace_listener::console_trace_listener ( )

Initializes a new instance of the xtd::diagnostics::console_trace_listener class with trace output written to the standard output stream.

Remarks
This constructor initializes a xtd::diagnostics::console_trace_listener object to write messages to either the std::cout or the std::cerr stream. Its xtd::diagnostics:::console_trace_listener::name property is initialized to an empty string ("").

◆ console_trace_listener() [2/2]

xtd::diagnostics::console_trace_listener::console_trace_listener ( bool  use_error_stream)

Initializes a new instance of the xtd::diagnostics::console_trace_listener class with an option to write trace output to the standard output stream or the standard error stream.

Parameters
use_error_streamtrue to write tracing and debugging output to the standard error stream; false to write tracing and debugging output to the standard output stream.
Remarks
This constructor initializes a xtd::diagnostics::console_trace_listener object to write messages to either the std::cout or the std::cerr stream. Its xtd::diagnostics::console_trace_listener::name property is initialized to an empty string ("").

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