protected function getMessage($level, $message, array $context = array()): MemoryStream
    {
        /**
         * This check implements the specification request.
         */
        self::checkLevel($level);
        
        $ms = new MemoryStream();
        
        $ms->write(strftime("%Y-%m-%d %H:%M:%S", time()));
        $ms->interpolate("\t[{level}]: ", array(
            'level' => sprintf("%6.6s", $level)
        ));
        $ms->interpolate($message, $context);
        $ms->write("\n");
        
        return $ms;
    }
protected function getMessage($level, $message, array $context = array()): MemoryStream
    {
        /**
         * This check implements the specification request.
         */
        self::checkLevel($level);
        
        $ms = new MemoryStream();
        
        $ms->write(strftime("%Y-%m-%d %H:%M:%S", time()));
        $ms->interpolate("\t[{level}]: ", array(
            'level' => sprintf("%6.6s", $level)
        ));
        $ms->interpolate($message, $context);
        $ms->write("\n");
        
        return $ms;
    }
protected function getMessage ( $ level , $ message , array $ context = array ( ) ) : MemoryStream { /**
         * This check implements the specification request.
         */ self :: checkLevel ( $ level ) ; $ ms = new MemoryStream ( ) ; $ ms -> write ( strftime ( "%Y-%m-%d %H:%M:%S" , time ( ) ) ) ; $ ms -> interpolate ( "\t[{level}]: " , array ( 'level' => sprintf ( "%6.6s" , $ level ) ) ) ; $ ms -> interpolate ( $ message , $ context ) ; $ ms -> write ( "\n" ) ; return $ ms ; }
Format the message to log and return a memory stream of it

@param integer $level
The arbitrary level
@param string $message
The message to log
@param array $context
The context of logging

@return \Generics\Streams\MemoryStream The formatted message
Format the message to log and return a memory stream of it