8 #include "../ustring.h"
16 namespace diagnostics {
110 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
120 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
136 template<
typename object>
138 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
140 write_event_cache(event_cache);
152 template<
typename object>
154 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
156 write_event_cache(event_cache);
168 template<
typename ...objects>
170 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
172 write_event_cache(event_cache);
184 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
186 write_event_cache(event_cache);
199 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
201 write_event_cache(event_cache);
214 template<
typename ...objects>
216 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
218 write_event_cache(event_cache);
231 template<
typename activity_
id_type>
233 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
235 write_event_cache(event_cache);
241 template <
typename object>
243 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
251 template <
typename object>
253 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
264 template <
typename object>
266 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
274 template <
typename object>
276 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
286 template<
typename object>
288 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
310 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE)
311 need_indent_ =
false;
312 for (
unsigned int i = 0;
i < indent_level_; ++
i)
320 unsigned int indent_level_ = 0;
321 unsigned int indent_size_ = 4;
322 bool is_thread_safe_ =
false;
324 bool need_indent_ =
true;
Provides trace event data specific to a thread and a process.
Definition: trace_event_cache.h:22
Provides the abstract base class for the listeners who monitor trace and debug output.
Definition: trace_listener.h:28
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.
Definition: trace_listener.h:153
void need_indent(bool need_indent)
Sets a value indicating whether to indent the output.
virtual void flush()
When overridden in a derived class, flushes the output buffer.
Definition: trace_listener.h:126
void thread_safe(bool thread_safe)
Sets a value indicating whether the trace listener is thread safe.
trace_listener(const xtd::ustring &name)
Initializes a new instance of the trace_listener class using the specified name as the listener.
virtual void write_line(const xtd::ustring &message)=0
Writes the message to the listener you create when you implement the trace_listener class followed by...
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.
Definition: trace_listener.h:183
virtual bool is_thread_safe() const
Gets a value indicating whether the trace listener is thread safe.
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...
Definition: trace_listener.h:215
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.
Definition: trace_listener.h:198
virtual void close()
When overridden in a derived class, closes the output stream so it no longer receives tracing or debu...
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 ...
Definition: trace_listener.h:252
trace_listener()=default
Initializes a new instance of the trace_listener class.
const xtd::ustring & name() const
Gets or sets a name for this TraceListener.
virtual void write(const xtd::ustring &message)=0
Writes the message to the listener you create when you implement the trace_listener class.
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 out...
Definition: trace_listener.h:169
void trace_output_options(const trace_options &trace_output_options)
Sets the trace output options.
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.
Definition: trace_listener.h:137
virtual void fail(const xtd::ustring &message)
Emits an error message to the listener you create when you implement the TraceListener class.
Definition: trace_listener.h:109
unsigned int indent_size() const
Gets the number of spaces in an indent.
virtual void write_indent()
Writes the indent to the listener you create when you implement this class, and resets the NeedIndent...
Definition: trace_listener.h:309
unsigned int indent_level() const
Gets the indent level.
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 listene...
Definition: trace_listener.h:232
virtual void fail(const xtd::ustring &message, const xtd::ustring &detail_message)
Emits the specified error message.
Definition: trace_listener.h:119
void indent_level(unsigned int indent_level)
Sets the indent level.
bool need_indent() const
Gets a value indicating whether to indent the output.
void write_line(const object &o)
Writes the value of the object's ToString method to the listener you create when you implement the Tr...
Definition: trace_listener.h:265
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 ...
Definition: trace_listener.h:275
void write(const object &o)
Writes the value of the object's ToString method to the listener you create when you implement the Tr...
Definition: trace_listener.h:242
void indent_size(unsigned int indent_size)
Sets the number of spaces in an indent.
void name(const xtd::ustring &name)
Sets a name for this TraceListener.
const trace_options & trace_output_options() const
Gets the trace output options.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition: object.h:26
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:48
static ustring join(const ustring separator, const collection_t &values) noexcept
Concatenates a specified separator string between each element of a specified object array,...
Definition: ustring.h:842
trace_options
Specifies trace data options to be written to the trace output.
Definition: trace_options.h:18
trace_event_type
Identifies the type of event that has caused the trace.
Definition: trace_event_type.h:18
@ none
Do not write any elements.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
Contains xtd::diagnostics::trace_event_cache class.
Contains xtd::diagnostics::trace_event_type enum class.
Contains xtd::diagnostics::trace_options enum class.