7 #include "../abstract.h" 8 #include "../ustring.h" 16 namespace diagnostics {
64 unsigned int indent_level()
const;
69 void indent_level(
unsigned int indent_level);
74 unsigned int indent_size()
const;
79 void indent_size(
unsigned int indent_size);
84 virtual bool is_thread_safe()
const;
112 void trace_output_options(
const trace_options& trace_output_options);
120 virtual void close();
126 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 136 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 152 template<
typename object>
154 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 156 write_event_cache(event_cache);
168 template<
typename object>
170 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 172 write_event_cache(event_cache);
184 template<
typename ...objects>
186 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 188 write_event_cache(event_cache);
200 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 202 write_event_cache(event_cache);
215 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 217 write_event_cache(event_cache);
230 template<
typename ...objects>
232 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 234 write_event_cache(event_cache);
247 template<
typename activity_
id_type>
249 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 250 write_line(
xtd::ustring::format(
"{} transfer: {} : {}, related_activity_id={}", source,
id, message, related_activity_id));
251 write_event_cache(event_cache);
257 template <
typename object>
259 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 267 template <
typename object>
269 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 280 template <
typename object>
282 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 290 template <
typename object>
292 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 299 virtual void write_line(
const xtd::ustring& message) = 0;
303 template<
typename object>
305 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 318 bool need_indent()
const;
321 void need_indent(
bool need_indent);
325 void thread_safe(
bool thread_safe);
334 #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 335 need_indent_ =
false;
336 for (
unsigned int i = 0;
i < indent_level_; ++
i)
345 unsigned int indent_level_ = 0;
346 unsigned int indent_size_ = 4;
347 bool is_thread_safe_ =
false;
349 bool need_indent_ =
true;
Provides the abstract base class for the listeners who monitor trace and debug output.
Definition: trace_listener.h:33
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:153
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:169
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:258
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:185
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:268
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
virtual void fail(const xtd::ustring &message, const xtd::ustring &detail_message)
Emits the specified error message.
Definition: trace_listener.h:135
Provides trace event data specific to a thread and a process.
Definition: trace_event_cache.h:27
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:50
Contains xtd::diagnostics::trace_event_type enum class.
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:333
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:199
Contains xtd::diagnostics::trace_options enum class.
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:214
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:248
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:291
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:231
#define abstract_
This keyword is used to represents an abstract class.
Definition: abstract.h:52
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:281
virtual void flush()
When overridden in a derived class, flushes the output buffer.
Definition: trace_listener.h:142
Contains xtd::diagnostics::trace_event_cache class.
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:125
Do not write any elements.
trace_options
Specifies trace data options to be written to the trace output.
Definition: trace_options.h:21
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:869
trace_event_type
Identifies the type of event that has caused the trace.
Definition: trace_event_type.h:21