# uvm_report_handler

The uvm_report_handler is the class to which most methods in uvm_report_object delegate. It stores the maximum verbosity, actions, and files that affect the way reports are handled.

The report handler is not intended for direct use. See uvm_report_object for information on the UVM reporting mechanism.

The relationship between uvm_report_object (a base class for uvm_component) and uvm_report_handler is typically one to one, but it can be many to one if several uvm_report_objects are configured to use the same uvm_report_handler_object. See uvm_report_object::set_report_handler.

The relationship between uvm_report_handler and uvm_report_server is many to one.

Summary

uvm_report_handler
The uvm_report_handler is the class to which most methods in uvm_report_object delegate.
Class Hierarchy
uvm_void
uvm_object
uvm_report_handler
Class Declaration
> class uvm_report_handler extends uvm_object
new | Creates and initializes a new uvm_report_handler object.
print | The uvm_report_handler implements the uvm_object::do_print() such that print method provides UVM printer formatted output of the current configuration.
Message Processing |
process_report_message | This is the common handler method used by the four core reporting methods (e.g.
Convenience Methods |
format_action | Returns a string representation of the action, e.g., “DISPLAY”.

### new

> function new(
> | string | name | = | "uvm_report_handler"
> )

Creates and initializes a new uvm_report_handler object.

### print

> virtual function void do_print (
> | uvm_printer | printer
> )

The uvm_report_handler implements the uvm_object::do_print() such that print method provides UVM printer formatted output of the current configuration. A snippet of example output is shown here:

>     uvm_test_top                uvm_report_handler  -     @555
>       max_verbosity_level       uvm_verbosity       32    UVM_FULL
>       id_verbosities            uvm_pool            3     -
>         [ID1]                   uvm_verbosity       32    UVM_LOW
>       severity_id_verbosities   array               4     -
>         [UVM_INFO:ID4]          int                 32    501
>       id_actions                uvm_pool            2     -
>         [ACT_ID]                uvm_action          32    DISPLAY LOG COUNT
>       severity_actions          array               4     -
>         [UVM_INFO]              uvm_action          32    DISPLAY
>         [UVM_WARNING]           uvm_action          32    DISPLAY RM_RECORD COUNT
>         [UVM_ERROR]             uvm_action          32    DISPLAY COUNT
>         [UVM_FATAL]             uvm_action          32    DISPLAY EXIT
>       default_file_handle       int                 32    'h1

### Message Processing

### process_report_message

> virtual function void process_report_message(
> | uvm_report_message | report_message
> )

This is the common handler method used by the four core reporting methods (e.g. uvm_report_error) in uvm_report_object.

### Convenience Methods

### format_action

> static function string format_action(
> | uvm_action | action
> )

Returns a string representation of the action, e.g., “DISPLAY”.

> virtual class uvm_void

The uvm_void class is the base class for all UVM classes.

> virtual class uvm_object extends uvm_void

The uvm_object class is the base class for all UVM data and hierarchical classes.

> class uvm_report_handler extends uvm_object

The uvm_report_handler is the class to which most methods in uvm_report_object delegate.

> class uvm_report_object extends uvm_object

The uvm_report_object provides an interface to the UVM reporting facility.

> function new(
> | string | name | = | "uvm_report_handler"
> )

Creates and initializes a new uvm_report_handler object.

> virtual function void do_print (
> | uvm_printer | printer
> )

The uvm_report_handler implements the uvm_object::do_print() such that print method provides UVM printer formatted output of the current configuration.

> virtual function void do_print (
> | uvm_printer | printer
> )

The do_print method is the user-definable hook called by print and sprint that allows users to customize what gets printed or sprinted beyond the field information provided by the `uvm_field_* macros, Utility and Field Macros for Components and Objects.

> virtual function void process_report_message(
> | uvm_report_message | report_message
> )

This is the common handler method used by the four core reporting methods (e.g.

> static function string format_action(
> | uvm_action | action
> )

Returns a string representation of the action, e.g., “DISPLAY”.

> function void set_report_handler(
> | uvm_report_handler | handler
> )

Sets the report handler, overwriting the default instance.
uvm_report_server is a global server that processes all of the reports generated by a uvm_report_handler.

> function void uvm_report_error(
> | string | id, |  |
> | string | message, |  |
> | int | verbosity | = | UVM_LOW,
> | string | filename | = | "",
> | int | line | = | 0,
> | string | context_name | = | "",
> | bit | report_enabled_checked | = | 0
> )