* @copyright 2007-2021 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * Class LoggerMEP */ class LoggerMEP { const LOG_ERROR = 'error'; const LOG_SUCCESS = 'success'; const LOG_MESSAGE = 'message'; protected $messages = array(); protected $has_error = false; protected function __construct() { } /** * @var LoggerMEP */ protected static $instance = null; public static function getInstance() { if (is_null(self::$instance)) { self::$instance = new self(); } return self::$instance; } /** * @param $message * @param $type */ public function log($message, $type) { $this->messages[] = array( 'message' => $message, 'type' => $type ); } /** * @param $message */ public function error($message) { $this->has_error = true; $this->log($message, self::LOG_ERROR); } /** * @param $message */ public function success($message) { $this->log($message, self::LOG_SUCCESS); } /** * @param $message */ public function message($message) { $this->log($message, self::LOG_MESSAGE); } public function getMessages() { return $this->messages; } public function exception(Exception $e) { $this->error($e->getMessage()); if (_PS_MODE_DEV_) { $this->message($e->getTraceAsString()); } } public function hasError() { return $this->has_error; } }