DEV.co
Open-Source Observability · jongpie

NebulaLogger

Nebula Logger is a native Salesforce logging and observability platform built in Apex that captures logs across Apex, Lightning Components, Flow, and OmniStudio. It stores actionable observability data in custom objects and uses platform events for scalable, real-time event-driven architecture with no external dependencies.

Source: GitHub — github.com/jongpie/NebulaLogger
946
GitHub stars
239
Forks
Apex
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryjongpie/NebulaLogger
Ownerjongpie
Primary languageApex
LicenseMIT — OSI-approved
Stars946
Forks239
Open issues93
Latest releasev4.18.4 (2026-07-07)
Last updated2026-07-07
Sourcehttps://github.com/jongpie/NebulaLogger

What NebulaLogger is

Event-driven logging framework using Salesforce platform events (LogEntryEvent__e) with pub/sub messaging. Provides unified log collection across Apex, LWC, Aura, Flow, and OmniStudio into custom objects (Log__c, LogEntry__c, LogEntryTag__c, LoggerTag__c, LoggerScenario__c). Includes configurable data masking, hierarchy settings, feature flags via metadata, and extensible plugin framework for Apex/Flow customization.

Quickstart

Get the NebulaLogger source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/jongpie/NebulaLogger.gitcd NebulaLogger# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Centralized Salesforce Platform Observability

Aggregate logs from Apex triggers, batch jobs, scheduled actions, and async operations into a single queryable audit trail stored natively in Salesforce. Useful for compliance, debugging, and performance monitoring across complex orgs with large data volumes.

Multi-Channel Logging in Native Salesforce Applications

Unified logging from Lightning Web Components, Aura components, Flow automation, and OmniStudio flows into the same log store. Eliminates scattered debug logs and enables cohesive observability across UI and backend layers.

ISV/Package Developer Observability

Managed package developers can leverage Nebula Logger via optional dependency (Callable interface) or hard dependency to provide customers with consistent logging without managing external infrastructure or building logging from scratch.

Implementation considerations

  • Assign permission sets to users post-installation; customize LoggerSettings__c at org, profile, and user levels for fine-grained control over what and who logs.
  • Platform events have a 72-hour retention window; ensure log data is persisted to custom objects promptly to avoid data loss if subscribers lag or fail.
  • Data masking rules must be pre-configured in LogEntryDataMaskRule__mdt metadata; requires planning to identify sensitive fields (PII, credentials) before deploying.
  • Unlocked package supports plugin framework for Apex/Flow extensions; managed package does not, limiting customization options if you are a subscriber.
  • No external dependencies means simpler deployment and fewer supply-chain risks, but scaling observability across large multi-org deployments requires custom inter-org replication logic.

When to avoid it — and what to weigh

  • Require External Log Aggregation (ELK, Splunk, DataDog) — Nebula Logger is Salesforce-native only. If you need federated log analysis, long-term retention outside Salesforce, or enterprise SIEM integration, you will need external tools or custom middleware.
  • Need Real-Time Alerting on Log Conditions — While platform events enable near-real-time processing, Nebula Logger itself does not provide built-in alerting. You must build custom Flow or Apex logic to trigger alerts on log patterns.
  • Managed Package Strict Backwards Compatibility Requirement — The managed package locks APIs to 'global' scope only and has slower release cycles. If you need rapid access to new features or willingness to handle non-backwards-compatible updates, the unlocked package is better suited.
  • Extremely Low Org Storage Budget — Storing all logs in Salesforce objects consumes data storage. High-volume orgs may face storage cost or limits. No built-in archiving or purge strategy is documented.

License & commercial use

MIT License. Allows commercial use, modification, and distribution with attribution. No restrictions on commercial products or services incorporating Nebula Logger code. All metadata is open source and freely available; ISVs may bundle into their own packages. Managed package is also available for subscribers via Salesforce AppExchange.

MIT License permits unrestricted commercial use, including in proprietary products and SaaS offerings. Both unlocked and managed package versions are available for commercial deployment in production Salesforce orgs. ISVs may include as optional dependency, hard dependency, or bundle metadata into their own packages. Recommend review of your org's app-store commercial terms (AppExchange) if distributing as a managed package to third parties.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Nebula Logger is a logging tool, not a security product. Security relies on: (1) configurable data masking via LogEntryDataMaskRule__mdt to prevent logging of PII/credentials; (2) Salesforce role-based access control (RBAC) and field-level security (FLS) on custom objects; (3) no external data transmission by default (Salesforce-native only). Logs stored in Salesforce org inherit org's encryption at rest and in transit. No security audit, pen-test results, or vulnerability disclosure policy documented in README. Data retention in platform events is limited to 72 hours; logs persisted to objects follow org's retention policies. Assess data classification and compliance requirements (GDPR, HIPAA, PCI-DSS) before logging sensitive data.

Alternatives to consider

Salesforce Debug Logs (Native)

Built-in system logs available via Salesforce UI; free but limited to 24-hour retention, slower search, no queryable storage, and requires manual access. Better for ad-hoc troubleshooting, not for long-term observability.

Splunk for Salesforce / DataDog Salesforce Integration

External observability platforms with native Salesforce connectors. Offer centralized log aggregation, advanced analytics, alerting, and longer retention. Better for multi-org, federated, or heavily regulated environments, but require external subscriptions and API integrations.

Custom Apex Logging Solution (In-House)

Build logging from scratch using Apex, Flow, and custom objects. Offers full control over schema and logic but incurs significant development and maintenance overhead, no community support, and higher risk of bugs or performance issues.

Software development agency

Build on NebulaLogger with DEV.co software developers

Evaluate Nebula Logger for your org. Start with the unlocked package in a sandbox, assign permission sets, and configure LoggerSettings. Check the wiki for multi-channel logging examples (Apex, LWC, Flow).

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

NebulaLogger FAQ

Can I use Nebula Logger in production without paying a license fee?
Yes. MIT License permits unlimited commercial use. Both unlocked and managed packages are free to install. No subscription or license fee required. Salesforce org subscription itself applies (standard Salesforce licensing).
What is the difference between the unlocked and managed packages?
Unlocked package (recommended) has no namespace, faster patch releases, supports plugin framework, and has public/protected Apex methods subject to change. Managed package has 'Nebula' namespace, slower minor-version releases, no plugin support, and only 'global' Apex methods are stable. Same metadata otherwise.
Does Nebula Logger automatically log all Apex calls, or do I need to add code?
You must explicitly call Logger methods in Apex (e.g., Logger.info(), Logger.error()). Unlocked package auto-calls System.debug(); managed package does not. No automatic instrumentation.
What happens to logs if the subscriber processes fail or lag?
Platform events have 72-hour retention. If your log-to-object subscribers lag beyond 72 hours, events are discarded and logs are lost. Ensure sufficient async capacity and monitor for event processing delays.

Custom software development services

Adopting NebulaLogger is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source observability software in production.

Ready to centralize Salesforce logging?

Evaluate Nebula Logger for your org. Start with the unlocked package in a sandbox, assign permission sets, and configure LoggerSettings. Check the wiki for multi-channel logging examples (Apex, LWC, Flow).