Git Hub
коротко

Пишем в лог

29 июня 2016, 10:32

Последнее время мне частенько приходится писать в лог, при этом не имея штатных классов записи в лог, по сему делаю себе ещё одну памятку.

if (!class_exists('Log')) {

    /**
     * Class Log
     * @singleton
     * @example Log::getInstance()->write("Всё хорошо прошло )) ");
     */
    class Log{

        protected static $instance = null;
        protected static $fileName = "/codeception.log";

        protected function __construct(){

        }

        public function getInstance(){
            if (empty(static::$instance)){
                static::$instance = new static();
            }
            return static::$instance;
		}


        protected function getFullFileName(){

            return $_SERVER["DOCUMENT_ROOT"].static::$fileName;
        }


        public function write($arg)
        {
            $strArg = "";
            $fp = fopen($this->getFullFileName(), 'a+');

            if (is_array($arg)){
                $strArg = $this->ar2s($arg);
            }
            else {
                $strArg = $arg;
            }


            fwrite($fp, $strArg);
            fclose($fp);
        }

        /**
         * @param $ar
         * конвертируем массив в строку
         */
        public function ar2s($ar){
            return var_export($ar,true);
        }


    }
}
Поделиться
Популярное