public function clear($flags = self::CLEAR_LOG)
    {
        // "use" our function params so things don't complain
        array($flags);
        $args = \func_get_args();
        $meta = $this->internal->getMetaVals(
            $args,
            array('channel' => $this->cfg['channel']),
            array('flags' => self::CLEAR_LOG),
            array('flags' => 'bitmask')
        );
        $event = $this->methodClear->onLog(new Event($this, array(
            'method' => __FUNCTION__,
            'args' => array(),
            'meta' => $meta,
        )));
        // even if cleared from within summary, let's log this in primary log
        $this->setLogDest('log');
        $collect = $this->cfg['collect'];
        $this->cfg['collect'] = true;
        if ($event['log']) {
            $this->appendLog(
                $event['method'],
                $event['args'],
                $event['meta']
            );
        } elseif ($event['publish']) {
            /*
                Publish the debug.log event (regardless of cfg.collect)
                don't actually log
            */
            $this->internal->publishBubbleEvent('debug.log', $event);
        }
        $this->cfg['collect'] = $collect;
        $this->setLogDest('auto');
    }