nebula-logger-instrumentation
Instrumenting Code with Nebula Logger
Supported API Surface
Nebula Logger's supported API surface is everything marked global in Apex, and everything exported from the c/logger LWC module. The managed package (namespace Nebula) exposes only the global surface; the unlocked package technically exposes public classes and methods too, since there's no namespace boundary blocking access.
Do not rely on public Apex classes or methods from your own code. They are internal to Nebula Logger and can change, be renamed, or be removed in any release without a deprecation window. LoggerDataStore, LoggerConfigurationSelector, LogEntryHandler, LoggerPlugin (the class itself, not the LoggerPlugin__mdt records), and everything else without a global modifier is subject to change without notice.
If a capability you need isn't available through the global surface, file an issue at https://github.com/jongpie/NebulaLogger/issues rather than reaching into public methods. This skill and its companions only reference global APIs.
The Core Model
Every Nebula Logger runtime context follows the same pattern:
- Add one or more log entries at a level (
ERROR,WARN,INFO,DEBUG,FINE,FINER,FINEST). - Optionally enrich each entry with a record, exception details, or tags.
- Persist the buffered entries by calling
saveLog()once at the end of the transaction.
The rest of this skill shows what that looks like in each runtime context.