In reply to abasili:
Anytime you call uvm_report_error from anywhere other than a class derived from uvm_report_object, it picks up this global report object called reporter. You can create a local report object in the module/interface containing the assertions and use that object for all report settings and messages.
module my_assertions;
import uvm_pkg::*;
`include "uvm_macros.svh"
uvm_report_object log = new($sformatf("%m")); // %m gives hierarchal pathname to log object.
assertion1: assert property (something) else `uvm_error_contex("assertion1","you failed",log)
endmodule