- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 207
Home
Nebula Logger is an open source logging tool for Salesforce. It's designed for Salesforce admins, developers & architects, to aid in development, troubleshooting & monitoring of your Salesforce environments.
- 
A unified logging tool that supports easily adding log entries across the Salesforce platform, using: - Apex: classes, triggers, and anonymous Apex scripts
- Lightning Components: lightning web components (LWCs) & aura components
- Flow & Process Builder: any Flow type that supports invocable actions
- OmniStudio: omniscripts and omni integration procedures
 
- 
Built with an event-driven pub/sub messaging architecture, using LogEntryEvent__eplatform events. For more details on leveraging platform events, see the Platform Events Developer Guide site
- 
Actionable observability data about your Salesforce org, available directly in your Salesforce org via the 5 included custom objects - Log__c
- LogEntry__c
- LogEntryTag__c
- LoggerTag__c
- LoggerScenario__c
 
- 
Customizable logging settings for different users & profiles, using the included LoggerSettings__ccustom hierarchy settings object
- 
Easily scales in highly complex Salesforce orgs with large data volumes, using global feature flags in LoggerParameter__mdt
- 
Automatic data masking of sensitive data, using rules configured in the LogEntryDataMaskRule__mdtcustom metadata type object
- 
View related LogEntry__crecords on any Lightning record page in App Builder by adding the 'Related Log Entries' component (relatedLogEntriesLWC)
- 
Dynamically assign tags to Log__candLogEntry__crecords for tagging/labeling your logs
- 
Extendable with a built-in plugin framework: easily build or install plugins that enhance Nebula Logger, using Apex or Flow (not currently available in the managed package) 
- 
ISVs & package developers have several options for leveraging Nebula Logger in your own packages - 
Optional Dependency: dynamically leverage Nebula Logger in your own packages - when it's available in a subscriber's org - using Apex's Callableinterface and Nebula Logger's included implementationCallableLogger(requiresv4.14.10of Nebula Logger or newer)
- 
Hard Dependency: add either Nebula Logger's unlocked (no namespace) package or its managed package (Nebulanamespace) as a dependency for your package to ensure customers always have a version of Nebula Logger installed
- No Dependency: Bundle Nebula Logger's metadata into your own project - all of Nebula Logger's metadata is fully open source & freely available. This approach provides with full control of what's included in your own app/project.
 
- 
Optional Dependency: dynamically leverage Nebula Logger in your own packages - when it's available in a subscriber's org - using Apex's 
Learn more about the design and history of the project on the Joys Of Apex:
- Assigning Permission Sets to Users
- Configuring Global Feature Flags
- Configuring Profile & User-Specific Settings
- Configuring Data Mask Rules
Manual Instrumentation
- Logging in Apex
- Logging in Flow & Process Builder
- Logging in Lightning Web Components & Aura Components
- Logging in OmniStudio
- Logging in OpenTelemetry (OTEL) REST API
ISVs & Package Dependencies
- Overview
- Optionally Use Nebula Logger (When Available) with CallableInterface
- Require Nebula Logger with Strongly-Coupled Package Dependency
Troubleshooting
Pub/Sub with Platform Events
Persisted Data with Custom Objects
- Logger Console app
- Assigning & Managing Logs
- Using 'View Related Log Entries' Component on Record Pages
- Deleting Old Logs
Official Plugins