Architecture - jongpie/NebulaLogger GitHub Wiki
Nebula Logger is built natively on Salesforce - everything is built using Apex, lightning components and various types of objects.
As shown in the above diagram, all of the metadata is broken down into 4 layers/modules:
1. Logger Engine Layer
The core of Nebula Logger that makes logging work. Currently, logging is supported for:
- Apex
- Lightning web components & aura components
- Flow, including a generic Flow log entry, a record-specific Flow log entry, and a collection-specific Flow log entry
This layer includes 1 platform event object:
LogEntryEvent__eplatform event
2. Log Management Layer
This provides the ability to view and manage logging data, using the Logger Console lightning app. This layer includes 4 custom objects:
Log__ccustom objectLogEntry__ccustom objectLogEntryTag__ccustom objectLoggerTag__ccustom object
3. Configuration Layer
Admins, developers, and architects can control & customize Nebula Logger's built-in features, using custom settings, custom metadata types, and permision sets. This layer includes:
- Custom Hierarchy Settings
LoggerSettings__cfor user-specific configurations
- Custom Metadata Types
LoggerParameter__mdtfor system-wide key-value pair configurationsLogEntryDataMaskRule__mdtfor configuring regex-based data masking rulesLogStatus__mdtfor configuring which picklist values inLog__c.Status__cmap toIsClosed__candIsResolved__cLogEntryTagRule__mdtfor configuring tagging rules
- Permission Sets
LoggerAdminLoggerLogViewerLoggerEndUserLoggerLogCreator
4. Plugin Layer
This layer provides the ability to add new functionality to Nebula Logger by creating or installing plugins. Currently, a plugin is available for Slack, and other plugins are in development. Plugins can be built for any of the 5 included objects
LogEntryEvent__eplatform eventLog__ccustom objectLogEntry__ccustom objectLogEntryTag__ccustom objectLoggerTag__ccustom object
