twiglet 2.1.0 → 2.1.1

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
  SHA256:
3
- metadata.gz: 9a94a60f7f04b8a19fd27f483e9f8e29992a237fa03491ad417a385032b98401
4
- data.tar.gz: 976a134b1c69aa19956b5979affa35fc0141cb5164a8fa67a0aa91da1f490b2a
3
+ metadata.gz: 4f97187804f27d00e7b8231880b43c50769b70a1598dcb3eedb42d2afad4fe0c
4
+ data.tar.gz: 18f126aef6c1b43bde8b4e343d2c7595e4fc3f1c07608e02214b3bf7ab2e36e4
5
5
  SHA512:
6
- metadata.gz: 93c304efe8eeccbe2f6ed826499a288eee8d07897c79e1c0aca1f16e3908ea136a1731db7318228e5fa819b3cdafe6b196926a0fd1f9d387f94f7a315b0e868b
7
- data.tar.gz: 74b4d3ec698510d3a236a159bf92fe1b0d07d6caf60fce91e46d24d89680ea5c93ffaee042606c5560d72709148756912d011405c113f51213f959c449d9e0ba
6
+ metadata.gz: 2bf3104cbb1e9f4051f58d6969cf7a761f8aac44a50dfee5677ed52b8ddc0679692357b513b0c995f40fe29f9327f339c8491db326bff261e167e1e8bf6d61b1
7
+ data.tar.gz: d1ee7cd4c20da132b3cfa8ca88ef117cc93bbb77773671274792cf67746f6b1947ff8c426099a2417ccbc291ff95853adaf1ded2be007f1deb85ebce265567ef
@@ -40,12 +40,13 @@ module Twiglet
40
40
 
41
41
  def error(message, error = nil)
42
42
  if error
43
- message = message.merge({
44
- 'error': {
45
- 'message': error.message,
46
- 'stack_trace': error.backtrace.join("\n")
47
- }
48
- })
43
+ error_fields = {
44
+ 'error': {
45
+ 'message': error.message
46
+ }
47
+ }
48
+ add_stack_trace(error_fields, error)
49
+ message = message.merge(error_fields)
49
50
  end
50
51
 
51
52
  log(level: 'error', message: message)
@@ -108,5 +109,9 @@ module Twiglet
108
109
  .deep_merge(message.to_nested)
109
110
  .to_json
110
111
  end
112
+
113
+ def add_stack_trace(hash_to_add_to, error)
114
+ hash_to_add_to[:error][:stack_trace] = error.backtrace.join("\n") if error.backtrace
115
+ end
111
116
  end
112
117
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Twiglet
4
- VERSION = '2.1.0'
4
+ VERSION = '2.1.1'
5
5
  end
@@ -193,6 +193,17 @@ describe Twiglet::Logger do
193
193
  assert_match 'logger_test.rb', actual_log[:error][:stack_trace].lines.first
194
194
  end
195
195
 
196
+ it 'should log an error without backtrace' do
197
+ e = StandardError.new('Connection timed-out')
198
+ @logger.error({message: 'Artificially raised exception'}, e)
199
+
200
+ actual_log = read_json(@buffer)
201
+
202
+ assert_equal 'Artificially raised exception', actual_log[:message]
203
+ assert_equal 'Connection timed-out', actual_log[:error][:message]
204
+ refute actual_log[:error].key?(:stack_trace)
205
+ end
206
+
196
207
  LEVELS.each do |attrs|
197
208
  it "should correctly log level when calling #{attrs[:method]}" do
198
209
  @logger.public_send(attrs[:method], {message: 'a log message'})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twiglet
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simply Business
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-10 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Like a log, only smaller.
14
14
  email:
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  requirements: []
58
- rubygems_version: 3.0.3
58
+ rubygems_version: 3.1.2
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: Twiglet