structured-event-logger 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +0 -11
 - data/lib/structured_event_logger.rb +3 -2
 - data/lib/structured_event_logger/version.rb +1 -1
 - data/structured-event-logger.gemspec +2 -2
 - data/test/structured_event_logger_test.rb +69 -40
 - data/test/test_helper.rb +1 -1
 - metadata +21 -6
 - checksums.yaml +0 -15
 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,16 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'bundler/gem_tasks'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'rake/testtask'
         
     | 
| 
       3 
     | 
    
         
            -
            require 'rubygems/package_task'
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            gemspec = eval(File.read('structured-event-logger.gemspec'))
         
     | 
| 
       6 
     | 
    
         
            -
            Gem::PackageTask.new(gemspec) do |pkg|
         
     | 
| 
       7 
     | 
    
         
            -
              pkg.gem_spec = gemspec
         
     | 
| 
       8 
     | 
    
         
            -
            end
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
            desc "Build the gem and release it to rubygems.org"
         
     | 
| 
       11 
     | 
    
         
            -
            task :release => :gem do
         
     | 
| 
       12 
     | 
    
         
            -
              sh "gem push pkg/structured-event-logger-#{gemspec.version}.gem"
         
     | 
| 
       13 
     | 
    
         
            -
            end
         
     | 
| 
       14 
3 
     | 
    
         | 
| 
       15 
4 
     | 
    
         
             
            Rake::TestTask.new(:test) do |t|
         
     | 
| 
       16 
5 
     | 
    
         
             
              t.test_files = Dir.glob('test/**/*_test.rb')
         
     | 
| 
         @@ -1,4 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'logger'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'securerandom'
         
     | 
| 
       2 
3 
     | 
    
         
             
            require 'active_support/json'
         
     | 
| 
       3 
4 
     | 
    
         
             
            require 'active_support/log_subscriber'
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
         @@ -69,8 +70,8 @@ class StructuredEventLogger 
     | 
|
| 
       69 
70 
     | 
    
         
             
              def log_event(scope, event, hash)
         
     | 
| 
       70 
71 
     | 
    
         
             
                unstructured_logger.add(nil, format_hash(scope, event, hash)) if unstructured_logger
         
     | 
| 
       71 
72 
     | 
    
         | 
| 
       72 
     | 
    
         
            -
                hash = hash.merge(@default_context.merge(context))
         
     | 
| 
       73 
     | 
    
         
            -
                hash 
     | 
| 
      
 73 
     | 
    
         
            +
                hash = hash.merge(@default_context.merge(context)).merge(event_name: event, event_scope: scope, event_uuid: SecureRandom.uuid)
         
     | 
| 
      
 74 
     | 
    
         
            +
                hash = { event_timestamp: Time.now.utc }.merge(hash)
         
     | 
| 
       74 
75 
     | 
    
         
             
                json_io.write("#{MultiJson.encode(hash)}\n")
         
     | 
| 
       75 
76 
     | 
    
         
             
              end
         
     | 
| 
       76 
77 
     | 
    
         | 
| 
         @@ -6,7 +6,7 @@ require 'structured_event_logger/version' 
     | 
|
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |spec|
         
     | 
| 
       7 
7 
     | 
    
         
             
              spec.name          = "structured-event-logger"
         
     | 
| 
       8 
8 
     | 
    
         
             
              spec.version       = StructuredEventLogger::VERSION
         
     | 
| 
       9 
     | 
    
         
            -
              spec.authors       = ["Emilie Noel", "Aaron Olson", "Willem van Bergen"]
         
     | 
| 
      
 9 
     | 
    
         
            +
              spec.authors       = ["Emilie Noel", "Aaron Olson", "Willem van Bergen", "Florian Weingarten"]
         
     | 
| 
       10 
10 
     | 
    
         
             
              spec.email         = ["willem@shopify.com"]
         
     | 
| 
       11 
11 
     | 
    
         
             
              spec.description   = %q{Structured event logging interface}
         
     | 
| 
       12 
12 
     | 
    
         
             
              spec.summary       = %q{Structured event logger that writes events to both a human readable log and a JSON formatted log}
         
     | 
| 
         @@ -24,5 +24,5 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       24 
24 
     | 
    
         
             
              spec.add_development_dependency "bundler", "~> 1.3"
         
     | 
| 
       25 
25 
     | 
    
         
             
              spec.add_development_dependency "rake"
         
     | 
| 
       26 
26 
     | 
    
         
             
              spec.add_development_dependency "minitest", "~> 5.0"
         
     | 
| 
       27 
     | 
    
         
            -
              spec.add_development_dependency " 
     | 
| 
      
 27 
     | 
    
         
            +
              spec.add_development_dependency "mocha"
         
     | 
| 
       28 
28 
     | 
    
         
             
            end
         
     | 
| 
         @@ -9,7 +9,9 @@ class StructuredEventLoggerTest < Minitest::Test 
     | 
|
| 
       9 
9 
     | 
    
         
             
                @unstructured_logger = Logger.new(@nonstructured_io = StringIO.new)
         
     | 
| 
       10 
10 
     | 
    
         
             
                @unstructured_logger.formatter = proc { |_, _, _, msg| "#{msg}\n" }
         
     | 
| 
       11 
11 
     | 
    
         
             
                @event_logger = StructuredEventLogger.new(@json_io, @unstructured_logger)
         
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
      
 12 
     | 
    
         
            +
                
         
     | 
| 
      
 13 
     | 
    
         
            +
                Time.stubs(:now).returns(Time.parse('2012-01-01T05:00:00Z'))
         
     | 
| 
      
 14 
     | 
    
         
            +
                SecureRandom.stubs(:uuid).returns('aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee')
         
     | 
| 
       13 
15 
     | 
    
         
             
              end
         
     | 
| 
       14 
16 
     | 
    
         | 
| 
       15 
17 
     | 
    
         
             
              def test_should_log_msg_to_buffered_logger
         
     | 
| 
         @@ -19,73 +21,100 @@ class StructuredEventLoggerTest < Minitest::Test 
     | 
|
| 
       19 
21 
     | 
    
         
             
              end
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
              def test_should_log_event_to_both_loggers
         
     | 
| 
       22 
     | 
    
         
            -
                 
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                 
     | 
| 
      
 24 
     | 
    
         
            +
                @event_logger.event "render", "error", {:status => "status", :message => "message"}
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                assert_equal "  [render] error: status=status, message=message\n", @nonstructured_io.string
         
     | 
| 
      
 27 
     | 
    
         
            +
                assert @json_io.string.end_with?("\n")
         
     | 
| 
      
 28 
     | 
    
         
            +
                assert_kind_of Hash, JSON.parse(@json_io.string)
         
     | 
| 
      
 29 
     | 
    
         
            +
              end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              def test_default_json_properties
         
     | 
| 
      
 32 
     | 
    
         
            +
                @event_logger.event :render, :error
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                assert_last_event_contains_value 'render', :event_scope
         
     | 
| 
      
 35 
     | 
    
         
            +
                assert_last_event_contains_value 'error', :event_name
         
     | 
| 
      
 36 
     | 
    
         
            +
                assert_last_event_contains_value 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', :event_uuid
         
     | 
| 
      
 37 
     | 
    
         
            +
                assert_last_event_contains_value '2012-01-01T05:00:00Z', :event_timestamp
         
     | 
| 
      
 38 
     | 
    
         
            +
              end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
              def test_overwriting_default_properties
         
     | 
| 
      
 41 
     | 
    
         
            +
                @event_logger.event :original, :original, :event_scope => 'overwritten', :event_name => 'overwritten',
         
     | 
| 
      
 42 
     | 
    
         
            +
                        :event_timestamp => Time.parse('1912-01-01T04:00:00Z'), :event_uuid => 'overwritten'
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                assert_last_event_contains_value 'original', :event_scope
         
     | 
| 
      
 45 
     | 
    
         
            +
                assert_last_event_contains_value 'original', :event_name
         
     | 
| 
      
 46 
     | 
    
         
            +
                assert_last_event_contains_value 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', :event_uuid
         
     | 
| 
      
 47 
     | 
    
         
            +
                assert_last_event_contains_value '1912-01-01T04:00:00Z', :event_timestamp
         
     | 
| 
       27 
48 
     | 
    
         
             
              end
         
     | 
| 
       28 
49 
     | 
    
         | 
| 
       29 
50 
     | 
    
         
             
              def test_should_log_flatten_hash
         
     | 
| 
       30 
     | 
    
         
            -
                 
     | 
| 
       31 
     | 
    
         
            -
                  @event_logger.event "render", "error", {:status => "status", :message => {:first => "first", :second => "second"}}
         
     | 
| 
      
 51 
     | 
    
         
            +
                @event_logger.event "render", "error", {:status => "status", :message => {:first => "first", :second => "second"}}
         
     | 
| 
       32 
52 
     | 
    
         | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                 
     | 
| 
      
 53 
     | 
    
         
            +
                assert_equal "  [render] error: status=status, message_first=first, message_second=second\n", @nonstructured_io.string
         
     | 
| 
      
 54 
     | 
    
         
            +
                assert_last_event_contains_value 'first',  :message_first
         
     | 
| 
      
 55 
     | 
    
         
            +
                assert_last_event_contains_value 'second', :message_second
         
     | 
| 
      
 56 
     | 
    
         
            +
                assert_last_event_contains_value 'status', :status
         
     | 
| 
       36 
57 
     | 
    
         
             
              end
         
     | 
| 
       37 
58 
     | 
    
         | 
| 
       38 
59 
     | 
    
         
             
              def test_should_log_to_current_context
         
     | 
| 
       39 
     | 
    
         
            -
                 
     | 
| 
       40 
     | 
    
         
            -
                   
     | 
| 
       41 
     | 
    
         
            -
                    @event_logger.context[:request_id] = '1'
         
     | 
| 
      
 60 
     | 
    
         
            +
                Thread.new do 
         
     | 
| 
      
 61 
     | 
    
         
            +
                  @event_logger.context[:request_id] = '1'
         
     | 
| 
       42 
62 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
                    end.join
         
     | 
| 
      
 63 
     | 
    
         
            +
                  Thread.new do 
         
     | 
| 
      
 64 
     | 
    
         
            +
                    @event_logger.context[:request_id] = '2'
         
     | 
| 
      
 65 
     | 
    
         
            +
                    @event_logger.event :render, :error
         
     | 
| 
       47 
66 
     | 
    
         
             
                  end.join
         
     | 
| 
       48 
     | 
    
         
            -
                end
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
                assert_equal "{\"request_id\":\"2\",\"event\":\"error\",\"scope\":\"render\",\"timestamp\":\"2012-01-01T05:00:00Z\"}\n", @json_io.string
         
     | 
| 
       51 
     | 
    
         
            -
              end
         
     | 
| 
      
 67 
     | 
    
         
            +
                end.join
         
     | 
| 
       52 
68 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
                @event_logger.event :some_scope, :some_event
         
     | 
| 
       55 
     | 
    
         
            -
                assert_equal value, JSON.parse(@json_io.string)[key.to_s]
         
     | 
| 
      
 69 
     | 
    
         
            +
                assert_last_event_contains_value '2', :request_id
         
     | 
| 
       56 
70 
     | 
    
         
             
              end
         
     | 
| 
       57 
71 
     | 
    
         | 
| 
       58 
72 
     | 
    
         
             
              def test_default_context_gets_merged
         
     | 
| 
       59 
73 
     | 
    
         
             
                @event_logger.default_context[:foo] = 42
         
     | 
| 
       60 
     | 
    
         
            -
                 
     | 
| 
      
 74 
     | 
    
         
            +
                @event_logger.event :some_scope, :some_event
         
     | 
| 
      
 75 
     | 
    
         
            +
                assert_last_event_contains_value 42, :foo
         
     | 
| 
       61 
76 
     | 
    
         
             
              end
         
     | 
| 
       62 
77 
     | 
    
         | 
| 
       63 
78 
     | 
    
         
             
              def test_default_context_values_can_be_overriden
         
     | 
| 
       64 
79 
     | 
    
         
             
                @event_logger.default_context[:foo] = 42
         
     | 
| 
       65 
80 
     | 
    
         
             
                @event_logger.context[:foo] = 43
         
     | 
| 
       66 
     | 
    
         
            -
                 
     | 
| 
      
 81 
     | 
    
         
            +
                @event_logger.event :some_scope, :some_event
         
     | 
| 
      
 82 
     | 
    
         
            +
                assert_last_event_contains_value 43, :foo
         
     | 
| 
       67 
83 
     | 
    
         
             
              end
         
     | 
| 
       68 
84 
     | 
    
         | 
| 
       69 
85 
     | 
    
         
             
              def test_default_context_gets_merged_again_after_clear
         
     | 
| 
       70 
86 
     | 
    
         
             
                @event_logger.default_context[:foo] = 42
         
     | 
| 
       71 
87 
     | 
    
         
             
                @event_logger.context.clear
         
     | 
| 
       72 
     | 
    
         
            -
                 
     | 
| 
      
 88 
     | 
    
         
            +
                @event_logger.event :some_scope, :some_event
         
     | 
| 
      
 89 
     | 
    
         
            +
                assert_last_event_contains_value 42, :foo
         
     | 
| 
       73 
90 
     | 
    
         
             
              end
         
     | 
| 
       74 
91 
     | 
    
         | 
| 
       75 
92 
     | 
    
         
             
              def test_should_clear_context
         
     | 
| 
       76 
     | 
    
         
            -
                 
     | 
| 
       77 
     | 
    
         
            -
                   
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
                  end.join
         
     | 
| 
      
 93 
     | 
    
         
            +
                Thread.new do
         
     | 
| 
      
 94 
     | 
    
         
            +
                  @event_logger.context[:request_id] = '1'
         
     | 
| 
      
 95 
     | 
    
         
            +
                  @event_logger.event :render, :in_thread
         
     | 
| 
      
 96 
     | 
    
         
            +
                  @event_logger.context.clear
         
     | 
| 
      
 97 
     | 
    
         
            +
                end.join
         
     | 
| 
       82 
98 
     | 
    
         | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
      
 99 
     | 
    
         
            +
                assert_last_event_contains_value '1', :request_id
         
     | 
| 
       84 
100 
     | 
    
         | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
                 
     | 
| 
      
 101 
     | 
    
         
            +
                @event_logger.event :render, :out_thread
         
     | 
| 
      
 102 
     | 
    
         
            +
                log_lines = @json_io.string.lines.entries
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                assert_last_event_does_not_contain :request_id
         
     | 
| 
       89 
105 
     | 
    
         
             
              end
         
     | 
| 
       90 
     | 
    
         
            -
            end
         
     | 
| 
       91 
106 
     | 
    
         | 
| 
      
 107 
     | 
    
         
            +
              private 
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
              def assert_last_event_contains_value(value, key)
         
     | 
| 
      
 110 
     | 
    
         
            +
                assert_equal value, last_parsed_event[key.to_s]
         
     | 
| 
      
 111 
     | 
    
         
            +
              end
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
              def assert_last_event_does_not_contain(key)
         
     | 
| 
      
 114 
     | 
    
         
            +
                assert !last_parsed_event.has_key?(key.to_s)
         
     | 
| 
      
 115 
     | 
    
         
            +
              end
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
              def last_parsed_event
         
     | 
| 
      
 118 
     | 
    
         
            +
                JSON.parse(@json_io.string.lines.entries[-1])
         
     | 
| 
      
 119 
     | 
    
         
            +
              end
         
     | 
| 
      
 120 
     | 
    
         
            +
            end
         
     | 
    
        data/test/test_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,20 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: structured-event-logger
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.4
         
     | 
| 
      
 5 
     | 
    
         
            +
              prerelease: 
         
     | 
| 
       5 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
7 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
8 
     | 
    
         
             
            - Emilie Noel
         
     | 
| 
       8 
9 
     | 
    
         
             
            - Aaron Olson
         
     | 
| 
       9 
10 
     | 
    
         
             
            - Willem van Bergen
         
     | 
| 
      
 11 
     | 
    
         
            +
            - Florian Weingarten
         
     | 
| 
       10 
12 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       11 
13 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       12 
14 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
     | 
    
         
            -
            date: 2013-08- 
     | 
| 
      
 15 
     | 
    
         
            +
            date: 2013-08-09 00:00:00.000000000 Z
         
     | 
| 
       14 
16 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
17 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
18 
     | 
    
         
             
              name: activesupport
         
     | 
| 
       17 
19 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 20 
     | 
    
         
            +
                none: false
         
     | 
| 
       18 
21 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
22 
     | 
    
         
             
                - - ~>
         
     | 
| 
       20 
23 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -22,6 +25,7 @@ dependencies: 
     | 
|
| 
       22 
25 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       23 
26 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
27 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 28 
     | 
    
         
            +
                none: false
         
     | 
| 
       25 
29 
     | 
    
         
             
                requirements:
         
     | 
| 
       26 
30 
     | 
    
         
             
                - - ~>
         
     | 
| 
       27 
31 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -29,6 +33,7 @@ dependencies: 
     | 
|
| 
       29 
33 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       30 
34 
     | 
    
         
             
              name: multi_json
         
     | 
| 
       31 
35 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 36 
     | 
    
         
            +
                none: false
         
     | 
| 
       32 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       33 
38 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       34 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -36,6 +41,7 @@ dependencies: 
     | 
|
| 
       36 
41 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       37 
42 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       38 
43 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 44 
     | 
    
         
            +
                none: false
         
     | 
| 
       39 
45 
     | 
    
         
             
                requirements:
         
     | 
| 
       40 
46 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       41 
47 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -43,6 +49,7 @@ dependencies: 
     | 
|
| 
       43 
49 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       44 
50 
     | 
    
         
             
              name: bundler
         
     | 
| 
       45 
51 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 52 
     | 
    
         
            +
                none: false
         
     | 
| 
       46 
53 
     | 
    
         
             
                requirements:
         
     | 
| 
       47 
54 
     | 
    
         
             
                - - ~>
         
     | 
| 
       48 
55 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -50,6 +57,7 @@ dependencies: 
     | 
|
| 
       50 
57 
     | 
    
         
             
              type: :development
         
     | 
| 
       51 
58 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       52 
59 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 60 
     | 
    
         
            +
                none: false
         
     | 
| 
       53 
61 
     | 
    
         
             
                requirements:
         
     | 
| 
       54 
62 
     | 
    
         
             
                - - ~>
         
     | 
| 
       55 
63 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -57,6 +65,7 @@ dependencies: 
     | 
|
| 
       57 
65 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       58 
66 
     | 
    
         
             
              name: rake
         
     | 
| 
       59 
67 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 68 
     | 
    
         
            +
                none: false
         
     | 
| 
       60 
69 
     | 
    
         
             
                requirements:
         
     | 
| 
       61 
70 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       62 
71 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -64,6 +73,7 @@ dependencies: 
     | 
|
| 
       64 
73 
     | 
    
         
             
              type: :development
         
     | 
| 
       65 
74 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       66 
75 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 76 
     | 
    
         
            +
                none: false
         
     | 
| 
       67 
77 
     | 
    
         
             
                requirements:
         
     | 
| 
       68 
78 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       69 
79 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -71,6 +81,7 @@ dependencies: 
     | 
|
| 
       71 
81 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       72 
82 
     | 
    
         
             
              name: minitest
         
     | 
| 
       73 
83 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 84 
     | 
    
         
            +
                none: false
         
     | 
| 
       74 
85 
     | 
    
         
             
                requirements:
         
     | 
| 
       75 
86 
     | 
    
         
             
                - - ~>
         
     | 
| 
       76 
87 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -78,13 +89,15 @@ dependencies: 
     | 
|
| 
       78 
89 
     | 
    
         
             
              type: :development
         
     | 
| 
       79 
90 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       80 
91 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 92 
     | 
    
         
            +
                none: false
         
     | 
| 
       81 
93 
     | 
    
         
             
                requirements:
         
     | 
| 
       82 
94 
     | 
    
         
             
                - - ~>
         
     | 
| 
       83 
95 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       84 
96 
     | 
    
         
             
                    version: '5.0'
         
     | 
| 
       85 
97 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       86 
     | 
    
         
            -
              name:  
     | 
| 
      
 98 
     | 
    
         
            +
              name: mocha
         
     | 
| 
       87 
99 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 100 
     | 
    
         
            +
                none: false
         
     | 
| 
       88 
101 
     | 
    
         
             
                requirements:
         
     | 
| 
       89 
102 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       90 
103 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -92,6 +105,7 @@ dependencies: 
     | 
|
| 
       92 
105 
     | 
    
         
             
              type: :development
         
     | 
| 
       93 
106 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       94 
107 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 108 
     | 
    
         
            +
                none: false
         
     | 
| 
       95 
109 
     | 
    
         
             
                requirements:
         
     | 
| 
       96 
110 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       97 
111 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
         @@ -118,26 +132,27 @@ files: 
     | 
|
| 
       118 
132 
     | 
    
         
             
            homepage: https://github.com/Shopify/structured-event-logger
         
     | 
| 
       119 
133 
     | 
    
         
             
            licenses:
         
     | 
| 
       120 
134 
     | 
    
         
             
            - MIT
         
     | 
| 
       121 
     | 
    
         
            -
            metadata: {}
         
     | 
| 
       122 
135 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       123 
136 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       124 
137 
     | 
    
         
             
            require_paths:
         
     | 
| 
       125 
138 
     | 
    
         
             
            - lib
         
     | 
| 
       126 
139 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 140 
     | 
    
         
            +
              none: false
         
     | 
| 
       127 
141 
     | 
    
         
             
              requirements:
         
     | 
| 
       128 
142 
     | 
    
         
             
              - - ! '>='
         
     | 
| 
       129 
143 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       130 
144 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       131 
145 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 146 
     | 
    
         
            +
              none: false
         
     | 
| 
       132 
147 
     | 
    
         
             
              requirements:
         
     | 
| 
       133 
148 
     | 
    
         
             
              - - ! '>='
         
     | 
| 
       134 
149 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       135 
150 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       136 
151 
     | 
    
         
             
            requirements: []
         
     | 
| 
       137 
152 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       138 
     | 
    
         
            -
            rubygems_version:  
     | 
| 
      
 153 
     | 
    
         
            +
            rubygems_version: 1.8.23
         
     | 
| 
       139 
154 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       140 
     | 
    
         
            -
            specification_version:  
     | 
| 
      
 155 
     | 
    
         
            +
            specification_version: 3
         
     | 
| 
       141 
156 
     | 
    
         
             
            summary: Structured event logger that writes events to both a human readable log and
         
     | 
| 
       142 
157 
     | 
    
         
             
              a JSON formatted log
         
     | 
| 
       143 
158 
     | 
    
         
             
            test_files:
         
     | 
    
        checksums.yaml
    DELETED
    
    | 
         @@ -1,15 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ---
         
     | 
| 
       2 
     | 
    
         
            -
            !binary "U0hBMQ==":
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz: !binary |-
         
     | 
| 
       4 
     | 
    
         
            -
                ZDcyNDFkNzJlNWFlYTc0NzUxNDE5YzNhMmE3MjgzNmRiOTUwYTlmYw==
         
     | 
| 
       5 
     | 
    
         
            -
              data.tar.gz: !binary |-
         
     | 
| 
       6 
     | 
    
         
            -
                YTE4MDdiMDZjNWJmOTAwODk2YTE5YWJiZTMwMjQ1YjA0N2I4NjQ1MA==
         
     | 
| 
       7 
     | 
    
         
            -
            !binary "U0hBNTEy":
         
     | 
| 
       8 
     | 
    
         
            -
              metadata.gz: !binary |-
         
     | 
| 
       9 
     | 
    
         
            -
                MTQwNmQzNGJmMjdjNTZiY2I3ZjYwMjA5NWY4ZGE0NjY0MTk3MWJjM2U1ZWI5
         
     | 
| 
       10 
     | 
    
         
            -
                OGM2Mzc0MjA1NDdmOTE3NjFjYmJhN2ZmNjI4OGNlN2RjYjk3OTk0YmQ4NzU2
         
     | 
| 
       11 
     | 
    
         
            -
                MWE0MmRmY2VhOTMzYjczYWYzMmZkMjE0NDhmMzdkYjNiMzc0ZDc=
         
     | 
| 
       12 
     | 
    
         
            -
              data.tar.gz: !binary |-
         
     | 
| 
       13 
     | 
    
         
            -
                NWZmMTMyMWU2NWVmZjBiMjJlOTNhODQ0NjVjMmQyM2ZiYmFhOWU2MjM0Mzhi
         
     | 
| 
       14 
     | 
    
         
            -
                YzVlYWFhNDdkZmYxMGY3OTliNzZiNjMzM2VjMmQ0MDRkOTMxNmJlMzIwNGQw
         
     | 
| 
       15 
     | 
    
         
            -
                OTQwOGZjNzU2NjA3MmY1NGM3MzlmNjIxMWYzYThlNjJjNWU0NmI=
         
     |