public function note($message = 'Note', $context = [], $level = null)
    {
        // Check if method was called only with $context
        if (is_array($message)) {
            $level   = $context ?: null;
            $context = $message;
            $message = 'Note';
        }

        // Skip log entry if message is null
        if (is_null($message)) {
            return $this;
        }

        // Add and format context
        if ($this->context) {
            $context = array_merge($this->context->all(), $context);
        }
        $context['profile'] = $this->name;
        if (isset($context['runtime'])) {
            $formatter          = $this->getFormatter();
            $context['runtime'] = $formatter($context['runtime']);
        }

        // Log
        $this->logger->log($level ?: $this->level, $message, $context);

        return $this;
    }