UVM has a powerful display capability baked into it from the uvm_report_object. Using it allows for capabilities such as:
- getting the debug info you want out of components without being blinded by everything
- silencing messages you don't want to see
- breaking out detailed logs into seperate files to not clutter up the simulation logs for everyone else
I put together a reference environment on GitHub that goes through exercises using the uvm_report_object here. Included is also the text output of the simulaton so you can print the code as well as the output and follow along.