The most robust observability solution for Salesforce experts. Built 100% natively on the platform, and designed to work seamlessly with Apex, Lightning Components, Flow, OmniStudio, and integrations.
The core of the plugin framework, used to create custom Apex & Flow plugins for LoggerSObjectHandler and LogBatchPurger based on configurations stored in the custom metadata type LoggerPlugin_t
pluginConfiguration → LoggerPlugin_tPluginConfigurationSorter(LoggerPlugin_t pluginConfiguration) → publiccompareTo(Object compareTo) → IntegergetFilteredPluginConfigurations(List<Schema.SObjectField> populatedFilterFields, Schema.SObjectField sortByField) → List<LoggerPlugin_t>Filters the configured LoggerPlugin_t records based on a list of SObjectField - only records that have a value for 1 or more of the specified populatedFilterFields will be returned, sorted by the specified SObjectField parameter sortByField
| Param | Description |
|---|---|
populatedFilterFields |
The list of SObjectField to check on each LoggerPlugin_t record - filtering logic checks for a non-null value |
sortByField |
The SObjectField to use to sort the list of matches. The method also uses DeveloperName as a secondary field for sorting. |
Type
List<LoggerPlugin_t>
Description
The list of matching LoggerPlugin_t records
getPluginConfigurations() → List<LoggerPlugin_t>Returns all enabled LoggerPlugin_t records (where IsEnabled__c is set to true)
Type
List<LoggerPlugin_t>
Description
The list of enabled LoggerPlugin_t records
newBatchableInstance(String apexClassTypeName) → BatchableCreates an instance of the class LoggerPlugin.Batchable based on the provided LoggerPlugin_t configuration
| Param | Description |
|---|---|
apexClassTypeName |
The name of the Apex class that implements LoggerPlugin.Batchable |
Type
Batchable
Description
The dynamically created instance of LoggerPlugin.Batchable,
newTriggerableInstance(String apexClassTypeName) → TriggerableCreates an instance of the class LoggerPlugin.Triggerable based on the provided LoggerPlugin_t configuration
| Param | Description |
|---|---|
apexClassTypeName |
The name of the Apex class that implements LoggerPlugin.Triggerable |
Type
Triggerable
Description
The dynamically created instance of LoggerPlugin.Triggerable,
sortBy(Schema.SObjectField field) → PluginConfigurationSorterInterface used to create plugins that can be used within Logger's batch job LogBatchPurger
execute(LoggerPlugin_t configuration, LoggerBatchableContext input, List<SObject> scopeRecords) → voidfinish(LoggerPlugin_t configuration, LoggerBatchableContext input) → voidstart(LoggerPlugin_t configuration, LoggerBatchableContext input) → voidInterface used to create plugins that can be used within Logger's trigger handler framework LoggerSObjectHandler
execute(LoggerPlugin_t configuration, LoggerTriggerableContext input) → void