public function backtrace($backtrace = [])
    {
        if (!func_num_args()) {
            return $this->_backtrace;
        }
        if ($this->_backtrace = $backtrace) {
            foreach ($this->_backtrace as $trace) {
                if (isset($trace['file'])) {
                    $this->_file = preg_replace('~' . preg_quote(getcwd(), '~') . '~', '', '.' . $trace['file']);
                    $this->_line = $trace['line'];
                    break;
                }
            }
        }
        return $this;
    }