public function processLogEntry($method, $args = array(), $meta = array())
    {
        $value = null;
        $firePhpMeta = $this->getMeta($method, $meta);
        if ($method == 'alert') {
            list($method, $args) = $this->methodAlert($args, $meta);
            $value = $args[0];
        } elseif (\in_array($method, array('group','groupCollapsed'))) {
            $firePhpMeta['Label'] = $args[0];
        } elseif (\in_array($method, array('profileEnd','table'))) {
            $firePhpMeta['Type'] = \is_array($args[0])
                ? $this->firephpMethods['table']
                : $this->firephpMethods['log'];
            $value = $this->methodTable($args[0], $meta['columns']);
            if ($meta['caption']) {
                $firePhpMeta['Label'] = $meta['caption'];
            }
        } elseif ($method == 'trace') {
            $firePhpMeta['Type'] = $this->firephpMethods['table'];
            $value = $this->methodTable($args[0], array('function','file','line'));
            $firePhpMeta['Label'] = 'trace';
        } elseif (\count($args)) {
            if (\count($args) == 1) {
                $value = $args[0];
                // no label;
            } else {
                $firePhpMeta['Label'] = \array_shift($args);
                $value = \count($args) > 1
                    ? $args // firephp only supports label/value...  we'll pass multiple values as an array
                    : $args[0];
            }
        }
        $value = $this->dump($value);
        if ($this->messageIndex < self::MESSAGE_LIMIT) {
            $this->setFirephpHeader($firePhpMeta, $value);
        } elseif ($this->messageIndex === self::MESSAGE_LIMIT) {
            $this->setFirephpHeader(
                array('Type'=>$this->firephpMethods['warn']),
                'FirePhp\'s limit of '.\number_format(self::MESSAGE_LIMIT).' messages reached!'
            );
        }
        return;
    }