With Summer '19 we can now have asynchronous apex change event triggers. This is covered in the release notes - Process Change Event Messages in Apex Triggers and the blog post Get #Buildspiration with Asynchronous Apex Triggers in Summer ‘19.
To test this I created a simple change event trigger on Opportunity to gather up the Opportunity Ids.
trigger OpportunityChangeEventAsyncTrigger on OpportunityChangeEvent (after insert) {
Set<Id> oppIds = new Set<Id>();
for(OpportunityChangeEvent oppChangeEvent : Trigger.new){
List<Id> recordIds = oppChangeEvent.ChangeEventHeader.getRecordIds();
oppIds.addAll(recordIds);
}
System.debug(oppIds);
}
I also ensured that the event would fire for Opportunity via Setup > Change Date Capture.
Then I ran the following anonymous Apex in the Developer Console:
Opportunity testOpp = [Select Id,Description from Opportunity limit 1];
testOpp.Description += 'Change Data Capture';
update testOpp;
The Developer Console showed the logging for the anonymous apex, but nothing appeared for the change data capture event trigger.
How do I see debug logging for Change Data Capture event triggers?