/** * 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 bool $allow_duplicate if set to true, can log several time the same information (not recommended) * @return bool true if succeed */ public static function addLog($message, $severity = 1, $error_code = null, $object_type = null, $object_id = null, $allow_duplicate = false, $id_employee = null) { $log = new PrestaShopLogger(); $log->severity = (int) $severity; $log->error_code = (int) $error_code; $log->message = pSQL($message); $log->date_add = date('Y-m-d H:i:s'); $log->date_upd = date('Y-m-d H:i:s'); if ($id_employee === null && isset(Context::getContext()->employee) && Validate::isLoadedObject(Context::getContext()->employee)) { $id_employee = Context::getContext()->employee->id; } if ($id_employee !== null) { $log->id_employee = (int) $id_employee; } if (!empty($object_type) && !empty($object_id)) { $log->object_type = pSQL($object_type); $log->object_id = (int) $object_id; } if ($object_type != 'Swift_Message') { PrestaShopLogger::sendByMail($log); } if ($allow_duplicate || !$log->_isPresent()) { $res = $log->add(); if ($res) { self::$is_present[$log->getHash()] = isset(self::$is_present[$log->getHash()]) ? self::$is_present[$log->getHash()] + 1 : 1; return true; } } return false; }