Audit Every Time a User Prints Reports or Exports Data
One way of doing this is to use the PreExecuteReportSet in your global.asax file. Every time a user clicks on print or exports, it fires a query. You would need to write the custom code in the PreExecuteReportSet method utilizing the querystring which contains the report name and output. You could then pass that data to a table in your database including the username, time, etc.