Equivalent of "set_report_verbosity_level()" with uvm_callback

Hello,

it is quite easy to modify the verbosity level of a monitor, using for example:

top_mon.set_report_verbosity_level(UVM_NONE);

But say in the actual implementation of “sample_coverage()” - from the pure task in the example below - , some 'uvm_info() are present,
then how do I control the verbosity?

Tried the following

monitor_cb::reporter.set_report_verbosity_level(UVM_NONE);

where monitor_cb is defined as follows:

typedef uvm_callbacks #(monitor,monitor_cbs) monitor_cb;

but no luck :(

virtual class monitor_cbs extends uvm_callback;
   
   function new (string name="monitor_cbs");
      super.new(name);
   endfunction
   
   pure virtual task sample_coverage(monitor mon, ref transm tr); 

endclass

In reply to emanuel:

Only classes derived from uvm_report_object (like uvm_component) have individual report settings, and have direct uvm_report_info methods. If you try calling uvm_report_info (or via the `uvm_info macro) from a class not derived from uvm_report_object, it calls the global functions in the uvm_pkg, using the settings in uvm_top.

If you want to use the report settings of the monitor, then you need to use the uvm_info_context macro instead of uvm_info

`uvm_info_context("ID","MSG",VERBOSITY,mon)

This calls mon.uvm_report_info() for you. If you want to use the monitor_cb’s reporter, then you would use

`uvm_info_context("ID","MSG",VERBOSITY,monitor_cb::reporter)