Where does Prestashop Logger::addLog() save the log file?

Mika picture Mika · Apr 21, 2013 · Viewed 24.3k times · Source

I came across the following line in a Prestashop module:

Logger::addLog('2: md5 string is '.$md5HashData, 1);

Where is the log saved?

Answer

Sergei Guk picture Sergei Guk · Apr 22, 2013

The log is saved in database in 'log' table (with your current prefix);

You can find the addLogg function from classes/Logger.php

However there is no documentation you can find something useful from method comment

    /**
* add a log item to the database and send a mail if configured for this $severity
*
* @param string $message the log message
* @param int $severity
* @param int $error_code
* @param string $object_type
* @param int $object_id
* @param boolean $allow_duplicate if set to true, can log several time the same information (not recommended)
* @return boolean true if succeed
*/
public static function addLog($message, $severity = 1, $error_code = null, $object_type = null, $object_id = null, $allow_duplicate = false)

As I understand from the code if the second parameter would be less than 5 (value of PS_LOGS_BY_EMAIL from 'configuration' table) you should also receive email with the alert message. But it will be sent and logged only once (if last parameter $allow_duplicate of the method wouldn't be true)

Note: This has changed in Prestashop 1.6, the class is now called PrestaShopLogger, use PrestaShopLogger::addLog($message, $severity); instead. They are shown in the backoffice, under Advanced Settings > Logs.