ManaPHP\Logger::log PHP Метод

log() публичный Метод

public log ( string $level, string $message, array $context ) : static
$level string
$message string
$context array
Результат static
    public function log($level, $message, $context)
    {
        $traces = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
        $location = '';
        if (isset($traces[1])) {
            $trace = $traces[1];
            if (isset($trace['file'], $trace['line'])) {
                $location = str_replace($this->alias->get('@app'), '', str_replace('\\', '/', $trace['file'])) . ':' . $trace['line'];
            }
        }
        if (Text::contains($message, '%')) {
            $replaces = [];
            foreach ($context as $k => $v) {
                $replaces['%' . $k . '%'] = $v;
            }
            $message = strtr($message, $replaces);
        }
        $context['level'] = $level;
        $context['date'] = time();
        $context['location'] = $location;
        $eventData = ['level' => $level, 'message' => $message, 'context' => $context];
        $this->fireEvent('logger:log', $eventData);
        if ($this->_s2i[$level] > $this->_s2i[$this->_level]) {
            return $this;
        }
        $this->adapter->log($level, $message, $context);
        return $this;
    }