dstdia / logger

An attempt at a Salesforce Lightning Platform Logging Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

An attempt at an Apex Logger Service for the Salesforce Lightning Platform

Leverages Platform Events to store Log information and uses AppConfig* Classes to control behaviour thereof. Automatically detects current class and method name as well as current line and column.

Screenshots

DebugEntry Record View

Developer Console

Usage Example

/*
*   EXAMPLE CLASS FOR LOGGER
*/

public with sharing class Handler {
    public Handler() {
        Logger.push();
        routine1();
        routine2();
        Logger.pop();
    }

    public void routine1(){
        Logger.push();
        Logger.log('entering subroutine1');
        subroutine1();
        Logger.pop();
    }

    public void routine2(){
        Logger.push();
        subroutine2();
        Logger.pop();
    }

    public void subroutine1(){
        Logger.push();
        Logger.pop();
    }

    public void subroutine2(){
        Logger.push();
        subsub1();
        subsub2();
        Logger.pop();
    }

    public void subsub1(){
        Logger.push();
        Logger.log('doing complex stuff');
        subsub2();
        Logger.pop();
    }

    public void subsub2(){
        Logger.push();
        Logger.log('Doing stuff at stacktrace: ' + Logger.stackTrace);
        Logger.pop();
    }
}

Kudos

Dan Appleman and Adrian Larsson

About

An attempt at a Salesforce Lightning Platform Logging Service


Languages

Language:Apex 81.6%Language:JavaScript 18.1%Language:CSS 0.3%