xtd - Reference Guide  0.1.0
Modern c++17 framework to create console, gui and unit test applications on Windows, macOS and Linux.
xtd::diagnostics Namespace Reference

The xtd::diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters. More...

Classes

class  console_trace_listener
 Directs tracing or debugging output to either the standard output or the standard error stream. More...
 
class  debug
 Provides a set of methods and properties that help you debug the execution of your code. This class cannot be inherited. More...
 
class  default_trace_listener
 Provides the default output methods and behavior for tracing. More...
 
class  event_type_filter
 Indicates whether a listener should trace based on the event type. More...
 
class  ostream_trace_listener
 
class  process
 
class  process_start_info
 Specifies a set of values that are used when you start a process. More...
 
class  source_filter
 Indicates whether a listener should trace a message based on the source of a trace. More...
 
class  stack_frame
 
class  stack_trace
 
class  switch_base
 Provides an abstract base class to create new debugging and tracing switches. More...
 
class  trace
 Provides a set of methods and properties that help you debug the execution of your code. This class cannot be inherited. More...
 
class  trace_event_cache
 Provides trace event data specific to a thread and a process. More...
 
class  trace_filter
 Provides the base class for trace filter implementations. More...
 
class  trace_listener
 Provides the abstract base class for the listeners who monitor trace and debug output. More...
 
class  trace_source
 Provides a set of methods and properties that enable applications to trace the execution of code and associate trace messages with their source. More...
 
class  trace_switch
 Provides a multilevel switch to control tracing and debug output without recompiling your code. More...
 

Typedefs

using trace_listener_collection = std::vector< std::shared_ptr< trace_listener >>
 

Enumerations

enum  process_window_style { process_window_style::normal = 0, process_window_style::hidden = 1, process_window_style::minimized = 2, process_window_style::maximized = 3 }
 Specified how a new window should appear when the system starts a process. More...
 
enum  source_levels {
  source_levels::all = 0b1111111111111111, source_levels::off = 0, source_levels::critical = 0b1, source_levels::error = 0b11,
  source_levels::warning = 0b111, source_levels::information = 0b1111, source_levels::verbose = 0b11111, source_levels::activity_tracing = 0b1111111100000000
}
 Specifies the levels of trace messages filtered by the source switch and event type filter. This enumeration has a flags attribute that allows a bitwise combination of its member values. More...
 
enum  trace_event_type {
  trace_event_type::critical = 0b1, trace_event_type::error = 0b10, trace_event_type::warning = 0b100, trace_event_type::information = 0b1000,
  trace_event_type::verbose = 0b10000, trace_event_type::start = 0b100000000, trace_event_type::stop = 0b1000000000, trace_event_type::suspend = 0b10000000000,
  trace_event_type::resume = 0b100000000000, trace_event_type::transfer = 0b1000000000000
}
 Identifies the type of event that has caused the trace. More...
 
enum  trace_level {
  trace_level::off = 0, trace_level::error = 1, trace_level::warning = 2, trace_level::info = 3,
  trace_level::verbose = 4
}
 Specifies what messages to output for the debug, trace and trace_switch classes. More...
 
enum  trace_options {
  trace_options::none = 0, trace_options::logical_operation_stack = 0b1, trace_options::date_time = 0b10, trace_options::timestamp = 0b100,
  trace_options::process_id = 0b1000, trace_options::thread_id = 0b10000, trace_options::callstack = 0b100000
}
 Specifies trace data options to be written to the trace output. More...
 

Functions

std::ostream & operator<< (std::ostream &os, xtd::diagnostics::process_window_style value)
 
std::ostream & operator<< (std::ostream &os, xtd::diagnostics::trace_level value)
 
std::wostream & operator<< (std::wostream &os, xtd::diagnostics::process_window_style value)
 
std::wostream & operator<< (std::wostream &os, xtd::diagnostics::trace_level value)
 
std::ostream & operator<< (std::ostream &os, xtd::diagnostics::trace_event_type value)
 
std::wostream & operator<< (std::wostream &os, xtd::diagnostics::trace_event_type value)
 

Detailed Description

The xtd::diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters.