Due to the popularity of javascript and it's importance inside web applications (coreBOS), as of June 2018 coreBOS has added functionality to be able to log messages that happen in your javascript code to the backend logging system.
to get this to work we must:
<script type="text/javascript" src="include/Webservices/WSClientp.js"></script>
<script>
var cbws=new cbWSClient('http://localhost/coreBOSwork');
cbws.extendSession();
</script>
<script type="module" src="include/js/loadjslog.js"></script>
Once that code has been included we will have a logging object at our service that is called jslog and has this interface:
jslog(cbws, 'fatal', 'message to log');
Additionally you can configure jslog to send the same message it is sending to the backend also to the browser console by setting the jslog2console variable like this:
jslog.jslog2console = true;
In certain situations it could be useful to keep the logging messages around while we are tacking down some hard to find bug but we want to deactivate them temporarily. jslog has a settings option for this called active
jslog.active = false;
jslog.fatal(cbws, JSON.stringify({'var1':'kdkdkd','var2':'llll'}));
jslog.debug(cbws, "{'var1':'kdkdkd','var2llll'}");
jslog.jslog2console=true;
jslog(cbws, 'info', "this message will appear in the console also!");
The messages sent to the backend will appear in the file logs/javascript.log and you must have the log4php.properties settings file configured correctly as well as the $LOG4PHP_DEBUG = true; variable.