Set system to debug mode
How to set TAO to debug for logging and troubleshooting.
When trying to track down an error you are having it's important to set your system to debug to increase the amount of information in your logs.
To do this you will need to
SSH to your server, and then
cd to where you have installed TAO. You will then edit config/generis.conf.php and make sure
DEBUG_MODE is set to
true as shown below:
// mode define('DEBUG_MODE', true);
If you need more detailed logging, TAO has a logger which accepts a PSR-3 logger interface. The logger utilizes TaoMonoLog which is a wrapper for monolog. While there is backward compatability to
common_log through TaoLog this functionality is deprecated.
The logger can be configured in
config/generis/log.conf.php, contains several different examples. These examples can be used to configure various methods to stream logs to a file, web console, Slack, etc.
The logging levels utilized by the logger are as follows:
DEBUG (100): Detailed debug information.
INFO (200): Interesting events. Examples: User logs in, SQL logs.
NOTICE (250): Normal but significant events.
WARNING (300): Exceptional occurrences that are not errors. Examples: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong.
ERROR (400): Runtime errors that do not require immediate action but should typically be logged and monitored.
CRITICAL (500): Critical conditions. Example: Application component unavailable, unexpected exception.
ALERT (550): Action must be taken immediately. Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.
EMERGENCY (600): Emergency: system is unusable.
The following is an example of configuring
config/generis/log.conf.php to send debug level logs to a file, in thise case /var/www/html/tao/logs/test-log.log.
return new oat\oatbox\log\LoggerService(array( 'logger' => array( 'class' => \oat\oatbox\log\logger\TaoMonolog::class, 'options' => array( 'name' => 'tao', 'handlers' => array( array( 'class' => \Monolog\Handler\StreamHandler::class, 'options' => array( '/var/www/html/tao/logs/test-log.log', \Monolog\Logger::DEBUG ) ) ) ) ))); return new oat\oatbox\log\LoggerService();