code: public function log($level, $message, array $context = array())
      {
          $file = $context['file'] ?? '';
          $line = $context['line'] ?? -1;
          $_lvl = [
              PsrLogLevel::EMERGENCY => 'F:*',
              PsrLogLevel::ALERT => 'F:*',
              PsrLogLevel::CRITICAL => 'F:*',
              PsrLogLevel::ERROR => 'E:*',
              PsrLogLevel::WARNING => 'W:*',
              PsrLogLevel::NOTICE => 'I:*',
              PsrLogLevel::INFO => 'I:*',
              PsrLogLevel::DEBUG => 'D:*',
          ];
          $target = $_lvl[$level] ?? 'D:*';
          $this->log_manager->log($file, $line, $target, $message, '');
      }
docs: Logs with an arbitrary level.
  
  @param mixed  $level
  @param string $message
  @param array  $context
  
  @return void