xtd 0.2.0
xtd::diagnostics::ostream_trace_listener Class Reference

Definition

Directs tracing or debugging output to a std::ostream, such as std::fstream, std::stream...

Inheritance
xtd::objectxtd::abstract_objectxtd::diagnostics::trace_listenerxtd::diagnostics::ostream_trace_listener
Header
#include <xtd/diagnostics/ostream_trace_listener>
Namespace
xtd::diagnostics
Library
xtd.core

Constructors

 ostream_trace_listener (const std::ostream &ostream)
 Initializes a new instance of the xtd::diagnostics::ostream_trace_listener class with a specified ostream. More...
 

Properties

virtual const std::ostream & ostream () const
 Gets the underlying stream. More...
 
virtual void ostream (const std::ostream &ostream)
 Sets the underlying stream. More...
 

Methods

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...
 
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...
 

Additional Inherited Members

- 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...
 
uint32 indent_level () const noexcept
 Gets the indent level. More...
 
void indent_level (uint32 indent_level) noexcept
 Sets the indent level. More...
 
uint32 indent_size () const noexcept
 Gets the number of spaces in an indent. More...
 
void indent_size (uint32 indent_size) noexcept
 Sets the number of spaces in an indent. More...
 
virtual bool is_thread_safe () const noexcept
 Gets a value indicating whether the trace listener is thread safe. More...
 
const xtd::ustringname () const noexcept
 Gets or sets a name for this TraceListener. More...
 
void name (const xtd::ustring &name) noexcept
 Sets a name for this TraceListener. More...
 
trace_options trace_output_options () const noexcept
 Gets the trace output options. More...
 
void trace_output_options (trace_options trace_output_options) noexcept
 Sets the trace output options. 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...
 
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, int32 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, int32 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, int32 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, int32 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, int32 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, int32 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...
 
template<typename activity_id_type >
void trace_transfer (const xtd::diagnostics::trace_event_cache &event_cache, const xtd::ustring &source, int32 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...
 
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...
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance. More...
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const noexcept
 Creates a shallow copy of the current object. More...
 
virtual xtd::ustring to_string () const noexcept
 Returns a sxd::ustring that represents the current object. More...
 
- 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 noexcept
 Gets a value indicating whether to indent the output. More...
 
void need_indent (bool need_indent) noexcept
 Sets a value indicating whether to indent the output. More...
 
void thread_safe (bool thread_safe) noexcept
 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...
 
- Protected Member Functions inherited from xtd::abstract_object
 abstract_object ()=default
 Initializes a new instance of the xtd::abstract_object class. More...
 

Constructor & Destructor Documentation

◆ ostream_trace_listener()

xtd::diagnostics::ostream_trace_listener::ostream_trace_listener ( const std::ostream &  ostream)
explicit

Initializes a new instance of the xtd::diagnostics::ostream_trace_listener class with a specified ostream.

Parameters
ostreamAn std::ostream that represents the stream the xtd::diagnostics::ostream_trace_listener writes to.
Remarks
This constructor initializes the name property to an empty string ("").

Member Function Documentation

◆ close()

void xtd::diagnostics::ostream_trace_listener::close ( )
overridevirtual

When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output.

Remarks
Use this method when the output is going to a file, such as to the TextWriterTraceListener. After a call to this method, you must reinitialize the object.

Reimplemented from xtd::diagnostics::trace_listener.

◆ flush()

void xtd::diagnostics::ostream_trace_listener::flush ( )
inlineoverridevirtual

When overridden in a derived class, flushes the output buffer.

Reimplemented from xtd::diagnostics::trace_listener.

◆ ostream() [1/2]

virtual const std::ostream& xtd::diagnostics::ostream_trace_listener::ostream ( ) const
virtual

Gets the underlying stream.

Returns
A std::ostream that represents the stream the ostream_trace_listener writes to.

◆ ostream() [2/2]

virtual void xtd::diagnostics::ostream_trace_listener::ostream ( const std::ostream &  ostream)
virtual

Sets the underlying stream.

Parameters
ostreamA std::ostream that represents the stream the ostream_trace_listener writes to.

◆ write()

void xtd::diagnostics::ostream_trace_listener::write ( const xtd::ustring message)
inlineoverridevirtual

Writes the message to the listener you create when you implement the trace_listener class.

Parameters
messageA string you want to write.

Implements xtd::diagnostics::trace_listener.

◆ write_line()

void xtd::diagnostics::ostream_trace_listener::write_line ( const xtd::ustring message)
inlineoverridevirtual

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.

Parameters
messageA string you want to write.

Implements xtd::diagnostics::trace_listener.


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