Exemple #1
0
 public function __call($level, $value)
 {
     array_walk(self::$filters, function ($filters) use($value, $level) {
         $catch = false;
         if (is_string($filters['levels']) && ($filters['levels'] == Level::ALL || $filters['levels'] == $level)) {
             $catch = true;
         } elseif (is_array($filters['levels']) && in_array($level, $filters['levels'])) {
             $catch = true;
         }
         if ($catch) {
             $message = Master::prepare($value);
             $file = $line = null;
             if (in_array('f', $filters['layout']['map']) or in_array('l', $filters['layout']['map'])) {
                 $trace = debug_backtrace(false);
                 $fun = $trace[2];
                 if (isset($fun['file'])) {
                     $file = str_replace("\\", "\\\\", $fun['file']);
                     $line = $fun['line'];
                 }
             }
             $uri = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : null;
             $message = str_replace(["%d", "%f", "%l", "%p", '%uri', "%m"], [date($filters['layout']['date_format']), $file, $line, $level, $uri, $message], $filters['layout']['layout_format']);
             $filters['filter']->writer($level, $message);
         }
     });
 }