Unlocked vs Managed Package
Jonathan Gillespie edited this page Apr 15, 2024
·
3 revisions
Nebula Logger is available as both an unlocked package and a managed package. The metadata is the same in both packages, but there are some differences in the available functionality & features. All examples in the documentation are for the unlocked package (no namespace) - simply add the Nebula
namespace to the examples if you are using the managed package.
Unlocked Package (Recommended) | Managed Package | |
---|---|---|
Namespace | none | Nebula |
Future Releases | Faster release cycle: new patch versions are released (e.g., v4.4.x ) for new enhancements & bugfixes that are merged to the main branch in GitHub |
Slower release cycle: the managed package only receives new minor versions (e.g., v4.x). It now follows Salesforce's release cycle - it will have 3 planned releases/year (Spring, Summer, and Winter releases). You can reference the list of milestones to see what's planned for each release. |
Public & Protected Apex Methods | Any public and protected Apex methods are subject to change in the future - they can be used, but you may encounter deployment issues if future changes to public and protected methods are not backwards-compatible |
Only global methods are available in managed packages - any global Apex methods available in the managed package will be supported for the foreseeable future |
Apex Debug Statements |
System.debug() is automatically called - the output can be configured with LoggerSettings__c.SystemLogMessageFormat__c to use any field on LogEntryEvent__e
|
Requires adding your own calls for System.debug() due to Salesforce limitations with managed packages |
Logger Plugin Framework | Leverage Apex or Flow to build your own "plugins" for Logger - easily add your own automation to the any of the included objects: LogEntryEvent__e , Log__c , LogEntry__c , LogEntryTag__c and LoggerTag__c . The logger system will then automatically run your plugins for each trigger event (BEFORE_INSERT, BEFORE_UPDATE, AFTER_INSERT, AFTER_UPDATE, and so on). |
This functionality is not currently available in the managed package |