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.
/*
* 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();
}
}