# File lib/rubyrep/replication_helper.rb, line 104
    def log_replication_outcome(diff, outcome, details = nil)
      table = diff.changes[:left].table
      key = diff.changes[:left].key
      if key.size == 1
        key = key.values[0]
      else
        key_parts = session.left.primary_key_names(table).map do |column_name|
          %Q("#{column_name}"=>#{key[column_name].to_s.inspect})
        end
        key = key_parts.join(', ')
      end
      rep_outcome, rep_details = fit_description_columns(outcome, details)
      diff_dump = diff.to_yaml[0...ReplicationInitializer::DIFF_DUMP_SIZE]
      
      session.left.insert_record "#{options[:rep_prefix]}_logged_events", {
        :activity => 'replication',
        :change_table => table,
        :diff_type => diff.type.to_s,
        :change_key => key,
        :left_change_type => (diff.changes[:left] ? diff.changes[:left].type.to_s : nil),
        :right_change_type => (diff.changes[:right] ? diff.changes[:right].type.to_s : nil),
        :description => rep_outcome,
        :long_description => rep_details,
        :event_time => Time.now,
        :diff_dump => diff_dump
      }
    end