# Reporting Classes

The reporting classes provide a facility for issuing reports with consistent formatting. Users can configure what actions to take and what files to send output to based on report severity, ID, or both severity and ID. Users can also filter messages based on their verbosity settings.

The primary interface to the UVM reporting facility is the uvm_report_object from which all uvm_components extend. The uvm_report_object delegates most tasks to its internal uvm_report_handler. If the report handler determines the report is not filtered based the configured verbosity setting, it sends the report to the central uvm_report_server for formatting and processing.

Summary

Reporting Classes
The reporting classes provide a facility for issuing reports with consistent formatting.

> class uvm_report_object extends uvm_object

The uvm_report_object provides an interface to the UVM reporting facility.

> virtual class uvm_component extends uvm_report_object

The uvm_component class is the root base class for UVM components.

> class uvm_report_handler extends uvm_object

The uvm_report_handler is the class to which most methods in uvm_report_object delegate.
uvm_report_server is a global server that processes all of the reports generated by a uvm_report_handler.