def METHOD_NAME(self, message):
    """Send logs"""
    # We're sending messages asynchronously, bubble to caller when
    # we've detected an error on the message. This isn't great,
    # but options once we've gone async without a deferred/promise
    # aren't great.
    if self.transport and self.transport.error:
        raise self.transport.error
    # Sanity safety, people do like to recurse by attaching to
    # root log :-(
    if message.name.startswith('boto'):
        return
    msg = self.format_message(message)
    if not self.transport:
        self.shutdown = False
        self.start_transports()
    self.buf.append(msg)
    self.flush_buffers(
        (message.created - self.last_seen >= self.batch_interval))
    self.last_seen = message.created