def to_s(filter = nil, version = nil)
      payload = PayloadFormatter.log(@type, @payload)
      log_msg = "#{super(filter, version)} #{trace} #{@type}"
      log_msg += " #{payload}" if payload
      log_msg += " from #{id_to_s(@from)}" if filter.nil? || filter.include?(:from)
      log_msg += ", target #{ids_to_s(@target)}" if @target && (filter.nil? || filter.include?(:target))
      log_msg += ", scope #{@scope.inspect}" if @scope && (filter.nil? || filter.include?(:scope))
      log_msg += ", fanout" if (filter.nil? || filter.include?(:fanout)) && fanout?
      log_msg += ", reply_to #{id_to_s(@reply_to)}" if @reply_to && (filter.nil? || filter.include?(:reply_to))
      log_msg += ", tags #{@tags.inspect}" if @tags && !@tags.empty? && (filter.nil? || filter.include?(:tags))
      log_msg += ", persistent" if @persistent && (filter.nil? || filter.include?(:persistent))
      log_msg += ", tries #{tries_to_s}" if @tries && !@tries.empty? && (filter.nil? || filter.include?(:tries))
      log_msg += ", payload #{@payload.inspect}" if filter && filter.include?(:payload)
      log_msg
    end
def to_s(filter = nil, version = nil)
      payload = PayloadFormatter.log(@type, @payload)
      log_msg = "#{super(filter, version)} #{trace} #{@type}"
      log_msg += " #{payload}" if payload
      log_msg += " from #{id_to_s(@from)}" if filter.nil? || filter.include?(:from)
      log_msg += ", target #{ids_to_s(@target)}" if @target && (filter.nil? || filter.include?(:target))
      log_msg += ", scope #{@scope.inspect}" if @scope && (filter.nil? || filter.include?(:scope))
      log_msg += ", fanout" if (filter.nil? || filter.include?(:fanout)) && fanout?
      log_msg += ", reply_to #{id_to_s(@reply_to)}" if @reply_to && (filter.nil? || filter.include?(:reply_to))
      log_msg += ", tags #{@tags.inspect}" if @tags && !@tags.empty? && (filter.nil? || filter.include?(:tags))
      log_msg += ", persistent" if @persistent && (filter.nil? || filter.include?(:persistent))
      log_msg += ", tries #{tries_to_s}" if @tries && !@tries.empty? && (filter.nil? || filter.include?(:tries))
      log_msg += ", payload #{@payload.inspect}" if filter && filter.include?(:payload)
      log_msg
    end
Generate log representation

 === Parameters
 filter(Array(Symbol)):: Attributes to be included in output
 version(Symbol|nil):: Version to display: :recv_version, :send_version, or nil meaning none

 === Return
 log_msg(String):: Log representation