def close
      @executor.post do
        begin
          @adapter.close
        rescue Exception => exception
          log_error("close failed for adapter #{adapter.inspect}", exception)
          raise unless exception.is_a?(StandardError)
          raise if synchronous?
        end
      end
    end
def close
      @executor.post do
        begin
          @adapter.close
        rescue Exception => exception
          log_error("close failed for adapter #{adapter.inspect}", exception)
          raise unless exception.is_a?(StandardError)
          raise if synchronous?
        end
      end
    end
Close the log adapter if supported. This might be a no-op if the adapter
 does not support closing. This method blocks if the flow is
 {#synchronous?}.

 Any error raised by the adapter when closing it is logged to the
 {#error_flow}. If the current flow is {#synchronous?}, the error is
 re-raised.

 @return [true]