Skip to content

Releases: jongpie/NebulaLogger

Lightning component logging support

23 Jul 12:41
3472e7c
Compare
Choose a tag to compare
Pre-release

You can now add log entries from your custom Lightning components!

  • Added logger.cmp Lightning component - this can be embedded in your own Lightning components to enable logging.

Example custom component that uses logger.cmp

<aura:component>
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    <!-- Embed the custom logger component -->
    <c:logger aura:id="logger" />
</aura:component>

Example component controller

({
    doInit : function(component, event, helper) {
        var logger = component.find('logger');
        logger.addDebugEntry(component, 'INFO', 'My LEX message', 'loggerDemo.doInit function', ['LEX-CMP']);
        logger.save();
    }
})

Trello Integration

16 Jul 20:59
6dbcdbc
Compare
Choose a tag to compare
Trello Integration Pre-release
Pre-release

Exception Logs can now be pushed to Trello!

  • Added new record Trello in custom metadata type LoggerIntegration__mdt to store auth details
  • TrelloLogPusher class: handles pushing any LogEntry__c records to Slack where Log__c.PushToTrello__c = true
  • TrelloLogPushScheduler class: handles scheduling jobs for pushing logs to Trello. There are 3 static methods to make scheduling easier
    1. scheduleEveryXMinutes(Integer x)
    2. scheduleHourly(Integer startingMinuteInHour)
    3. scheduleHourly(Integer startingMinuteInHour, String jobName)

Slack Integration

13 Jul 19:42
2eb887e
Compare
Choose a tag to compare
Slack Integration Pre-release
Pre-release

Logs can now be pushed to Slack!

  • Slack notifications are automatically colored red when a log contains 1 or more exceptions (otherwise, they're colored green)
  • Added new record 'Slack' in custom metadata type LoggerIntegration__mdt to store auth details
  • SlackLogPusher class: handles pushing any LogEntry__c records to Slack where Log__c.PushToSlack__c = true
  • SlackLogPushScheduler class: handles scheduling jobs for pushing logs to Slack. There are 3 static methods to make scheduling easier
    1. scheduleEveryXMinutes(Integer x)
    2. scheduleHourly(Integer startingMinuteInHour)
    3. scheduleHourly(Integer startingMinuteInHour, String jobName)

Chatter Topics support & Loggly integration

05 Jul 17:22
ed7d995
Compare
Choose a tag to compare

Redesigned Logger public methods to support Chatter Topics & to reduce the number of parameters.

Adding Entries

There are 6 methods for adding log entries

  1. addDebugEntry(String message, String originLocation)
  2. addDebugEntry(LoggingLevel loggingLevel, String message, String originLocation)
  3. addDebugEntry(LoggingLevel loggingLevel, String message, String originLocation, List topics)
  4. addExceptionEntry(Exception ex, String originLocation)
  5. addExceptionEntry(Exception ex, String originLocation, List topics)
  6. Invocable Method: addFlowEntries(List flowLogEntries)

Context & Limits Automatically Captured

Log__c & LogEntry__c objects have new fields to capture context & limits data, including
1. If the log entry was captured via a trigger and/or Visualforce page, along with SObject type & Visualforce page name
2. The stats of all platform limits available via the Limits class at the time that the log entry was captured
3. Stats about what them the user is using (Classic, Lightning Experience, Mobile App, etc)

Added Loggly Integration

  • Added new custom metadata type LoggerIntegration__mdt to store auth details for integrations, starting with Loggly
  • LogglyLogPusher class: handles pushing any LogEntry__c records to Loggly where Log__c.PushToLoggly__c = true
  • LogglyLogPushScheduler class: handles scheduling jobs for pushing logs to Loggly. There are 3 static methods to make scheduling easier
    1. scheduleEveryXMinutes(Integer x)
    2. scheduleHourly(Integer startingMinuteInHour)
    3. scheduleHourly(Integer startingMinuteInHour, String jobName)

Initial Beta Release

11 Jun 10:32
9ab643d
Compare
Choose a tag to compare
Initial Beta Release Pre-release
Pre-release

Designed for Salesforce admins & developers. Supports logging for Apex, Process Builder & Flow

  1. Apex can use Logger.addDebugEntry(), Logger.addExceptionEntry() and Logger.saveLog()
  2. Process Builder/Flow can call the invocable Apex methods FlowLogEntry.addFlowEntries() and Logger.saveLog()

Features

A robust logger for Salesforce that's simple to implement & configurable at the org, profile & user level.

  1. Generates 1 log per transaction
  2. Supports adding log entries via Apex, Process Builder & Flow
  3. Supports adding both debug & exception log entries to the log - logs can still be saved even if an exception is thrown
  4. Supports adding log entries as debug statements in Salesforce's Debug Log
  5. Supports specifying a logging level for each log entry
  6. Allows logging to be enabled/disabled for different users & profiles
  7. Allows logging level to be configured for each user/profile
  8. Allows different debug & exception log entries to be disabled/ignored without making code changes