twiglet 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
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