* @copyright 2012-2019 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 ErrorLoggerMEP { protected $filename = 'error.log'; protected $handler; protected function __construct() { $this->handler = $this->createHandler(); } protected static $self = null; public static function getInstance() { if (is_null(self::$self)) { self::$self = new self(); } return self::$self; } protected function getLogFilePath() { return _PS_MODULE_DIR_ . ToolsModuleMEP::getModNameForPath(__FILE__) . '/' . $this->filename; } protected function createHandler() { $handler = fopen($this->getLogFilePath(), 'a'); return $handler; } protected function getHandler() { return $this->handler; } public function add($string) { if (is_array($string)) { $string = var_export($string, true); } fwrite($this->getHandler(), $this->getDate() . $string . PHP_EOL); } protected function getDate() { return date('H:i:s d-m-Y: '); } public function clear() { unlink($this->getLogFilePath()); $this->handler = $this->createHandler(); } }