timber 1.0.6 → 1.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27f78f79df06224a558a66cc9d572d0be9c6a0f2
4
- data.tar.gz: 769f1a8cdb0441973e06668c7489b7890345d583
3
+ metadata.gz: 66f219592e109d976752d4334d0daf0008327a4d
4
+ data.tar.gz: 95f2d9e28f713c6ebcd344860445235aa0799cdd
5
5
  SHA512:
6
- metadata.gz: 3546695fa5cc7e0637e189bd11f607915db6016ccbf9e8892f56c29bd8c5b143742d038f0d49a961ed08a33710bf6cac2da2b2751bca5a2d66d683cf40cdd31d
7
- data.tar.gz: 63eae54046e1f78884e818470bf2577c0a8e147d84c1a93b620c1cb4900858672310b069693f4a1d1cec2193c285450f0f08b8e603a1901d2516345b2974f6ad
6
+ metadata.gz: ed74f610fdc2758631f621d95adbd7c925b8573a4f870747a4423420dfb0ea2fdd8951e94516972ad8ccc9023bfa94ad7df14479c00fbb35f8abf47a3880dcff
7
+ data.tar.gz: 80a086de1b57fca570db4508349f94d370dc850bab15e4ef090fe1c621580f9dab67d2fb503845f32432e42b657f9f0d8fee615d487809b057b7c826bf63b61f
@@ -131,8 +131,18 @@ module Timber
131
131
  class MsgPackFormatter < Formatter
132
132
  def call(severity, time, progname, msg)
133
133
  # use << for concatenation for performance reasons
134
- build_log_entry(severity, time, progname, msg).as_json.to_msgpack << "\n"
134
+ hash = build_log_entry(severity, time, progname, msg).as_json
135
+ to_msgpack(hash) << "\n"
135
136
  end
137
+
138
+ private
139
+ def to_msgpack(msg)
140
+ begin
141
+ msg.to_msgpack
142
+ rescue NoMethodError
143
+ JSON.parse(JSON.generate(msg)).to_msgpack
144
+ end
145
+ end
136
146
  end
137
147
 
138
148
  # Creates a new Timber::Logger instances. Accepts the same arguments as `::Logger.new`.
@@ -1,3 +1,3 @@
1
1
  module Timber
2
- VERSION = "1.0.6"
2
+ VERSION = "1.0.7"
3
3
  end
@@ -58,7 +58,7 @@ describe Timber::LogDevices::HTTP do
58
58
  after(:each) { http.close }
59
59
 
60
60
  it "should delivery properly and flush the buffer" do
61
- stub = stub_request(:post, "https://api.timber.io/http_frames").
61
+ stub = stub_request(:post, "https://logs.timber.io/frames").
62
62
  with(
63
63
  :body => "test log message",
64
64
  :headers => {
@@ -96,6 +96,16 @@ describe Timber::Logger, :rails_23 => true do
96
96
  it "should use the msgpack formatter" do
97
97
  expect(logger.formatter).to be_kind_of(Timber::Logger::MsgPackFormatter)
98
98
  end
99
+
100
+ it "should log properly with the msgpack format" do
101
+ event = Timber::Events::Custom.new(
102
+ type: :payment_rejected,
103
+ message: "Payment rejected",
104
+ data: {customer_id: "abcd1234", amount: 100}
105
+ )
106
+ expect(io).to receive(:write).exactly(1).times
107
+ logger.error(event)
108
+ end
99
109
  end
100
110
  end
101
111
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timber
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timber Technologies, Inc.