We are developing an app on AppExchange. We need to log which data is got by an user. For example: user A opens my app. From my app, he access object B. I need a log with information like:

Time: 2023/4/7 00:00:00
Account: User A
Method: myApp.GetObjectInfo
Type: MyCustomObject__c
Object Content: Object B

As our research, Event Monitoring is the closest feature we can use. However:

  1. Event Monitoring's logs are read-only. On the side of an app, we cannot create (or write) a custom log. So it's impossible for us customize what we want to log.
  2. We may see the log on Apex method call or API call by Salesforce. But it just contains the name of method that's called. No information about input parameter or output result.
  3. We may also see the log of "Real time event monitoring", however, it just logs for Salesforce's feature only. If users access data via my App, they are not logged.

So, my questions:

  1. Is there any way we can use Event Monitoring for our scenario?
  2. If it's impossible customizing Event Monitoring. Is it a good rough solution for us?

1 Answer 1


You can't use the Event Monitoring log. You will have to use your own custom object for logging.

  • Thank you for your suggestion. I have thought about it before posting the question. However, there may be many Salesforce's limitations relating to number of records that we can upsert, the size of the database.... Also, it may be performance penalty because saving log takes extra time. If you face with such requirement before, could you please roughly share your idea? Commented Apr 11, 2023 at 3:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .