diff --git a/nebula-logger/core/main/logger-engine/classes/LogEntryEventBuilder.cls b/nebula-logger/core/main/logger-engine/classes/LogEntryEventBuilder.cls index e6df9d2d5..d31625ac1 100644 --- a/nebula-logger/core/main/logger-engine/classes/LogEntryEventBuilder.cls +++ b/nebula-logger/core/main/logger-engine/classes/LogEntryEventBuilder.cls @@ -460,7 +460,15 @@ global with sharing class LogEntryEventBuilder { this.logEntryEvent.RecordSObjectClassification__c = 'Unknown'; this.logEntryEvent.RecordSObjectType__c = 'Unknown'; } else { - this.logEntryEvent.RecordId__c = record.Id; + try { + this.logEntryEvent.RecordId__c = record.Id; + } catch (System.SObjectException sobjectException) { + // Some SObject Types (such as Platform Events) do not have the ID field; + // that's OK, just skip setting it. + if (sobjectException.getMessage().contains('Invalid field Id') == false) { + throw sobjectException; + } + } this.logEntryEvent.RecordSObjectClassification__c = getSObjectClassification(record.getSObjectType()); this.logEntryEvent.RecordSObjectType__c = record.getSObjectType().toString(); this.logEntryEvent.RecordSObjectTypeNamespace__c = getSObjectTypeNamespace(record.getSObjectType());