GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Architecture

Architecture

Jump to bottom Edit New page
Jonathan Gillespie edited this page Sep 29, 2021 · 2 revisions

Nebula Logger is built natively on Salesforce - everything is built using Apex, lightning components and various types of objects.

Logger Settings

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__e platform 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__c custom object
  • LogEntry__c custom object
  • LogEntryTag__c custom object
  • LoggerTag__c custom 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__c for user-specific configurations
  • Custom Metadata Types
    • LoggerParameter__mdt for system-wide key-value pair configurations
    • LogEntryDataMaskRule__mdt for configuring regex-based data masking rules
    • LogStatus__mdt for configuring which picklist values in Log__c.Status__c map to IsClosed__c and IsResolved__c
    • LogEntryTagRule__mdt for configuring tagging rules
  • Permission Sets
    • LoggerAdmin
    • LoggerLogViewer
    • LoggerEndUser
    • LoggerLogCreator

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__e platform event
  • Log__c custom object
  • LogEntry__c custom object
  • LogEntryTag__c custom object
  • LoggerTag__c custom object
Add a custom footer

Getting Started

  • Overview
  • Core Features
  • Architecture
  • Unlocked vs Managed Package

Configuring Nebula Logger

  • Assigning Permission Sets to Users
  • Configuring Global Feature Flags
  • Configuring Profile & User-Specific Settings
  • Configuring Data Mask Rules

Implementing Nebula Logger

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 Callable Interface
  • Require Nebula Logger with Strongly-Coupled Package Dependency

Troubleshooting

  • Troubleshooting Logging Issues

Managing Logging Telemetry Data

Pub/Sub with Platform Events

  • Subscribe to LogEntryEvent__e 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

Plugin Framework

  • Overview
  • Build a Plugin

Official Plugins

  • Slack Plugin

Clone this wiki locally

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.