twiglet 2.0.0.pre.alpha.1 → 2.0.0

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: f2bb718963cc1602d548f4f80bbf03a932feac4ceaa5b11bc3b6d19a1ee58e10
4
- data.tar.gz: 6ee69671edd4a487a905c45dec2833141fc6a4a7b8702bdffdc2dc0b81e6e9e4
3
+ metadata.gz: 8f7e6901994e7715bab639be94853dbbcce697e16da26f2f8340404ebe4c0211
4
+ data.tar.gz: 1758572f62c689a68642cfb8887dc2ea380a3602332cf2321b06d51e80a7066d
5
5
  SHA512:
6
- metadata.gz: 3ccecc55b8320608406a0dfec87f617e12501dbdebbe62de7b74881afde44439ba789c59b80c1530c9e4325dc424a202c1ea71958adf32ce1bda020103b38a48
7
- data.tar.gz: 2762f0a75ac22ae69ef30de4afa022dc91e1504e578ce0fcf3198291e0f4963adbda2ab57e7e5b8a852ff2bfe6f058f3478d23c622a09a0eef98cc2821881c4b
6
+ metadata.gz: 808fb4ddbdaff2287331e022ec4a593469335a40476fa59cb0546facd126113c6b564f7538c3366984bb40ed178a131861b0a97e9ea571640caa68db0354a906
7
+ data.tar.gz: 83913e66900495ee39ba12d8f38e16e83fbc3621c4caf7bdaa128c6b44568f82face4498f1b2081e798ff6265b79a7758dd97eff08bd6224e8b0b7d077e8cb81
@@ -1,4 +1,3 @@
1
1
  # Add your project owners info here
2
2
  # More information: https://help.github.com/articles/about-codeowners/
3
3
  * @simplybusiness/application-tooling
4
- *
data/README.md CHANGED
@@ -40,6 +40,13 @@ This will write to STDOUT a JSON string:
40
40
 
41
41
  Obviously the timestamp will be different.
42
42
 
43
+ Errors can be logged as well, and this will log the error message and backtrace in the relevant ECS compliant fields:
44
+
45
+ ```ruby
46
+ db_err = StandardError.new('Connection timed-out')
47
+ logger.error({ message: 'DB connection failed.' }, db_err)
48
+ ```
49
+
43
50
  Add log event specific information simply as attributes in a hash:
44
51
 
45
52
  ```ruby
@@ -126,7 +133,7 @@ First: Please read our project [Code of Conduct](../CODE_OF_CONDUCT.md).
126
133
  Second: run the tests and make sure your changes don't break anything:
127
134
 
128
135
  ```bash
129
- for file in test/*test.rb; do ruby $file; done
136
+ bundle exec rake test
130
137
  ```
131
138
 
132
139
  Then please feel free to submit a PR.
@@ -36,11 +36,15 @@ module Twiglet
36
36
  log(level: 'warning', message: message)
37
37
  end
38
38
 
39
+ alias_method :warn, :warning
40
+
39
41
  def error(message, error = nil)
40
42
  if error
41
43
  message = message.merge({
42
- error_name: error.message,
43
- backtrace: error.backtrace
44
+ 'error': {
45
+ 'message': error.message,
46
+ 'stack_trace': error.backtrace.join("\n")
47
+ }
44
48
  })
45
49
  end
46
50
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Twiglet
4
- VERSION = '2.0.0-alpha.1'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -178,8 +178,26 @@ describe Twiglet::Logger do
178
178
  actual_log = read_json(@buffer)
179
179
 
180
180
  assert_equal 'Artificially raised exception', actual_log[:message]
181
- assert_equal 'divided by 0', actual_log[:error_name]
182
- assert_match 'logger_test.rb', actual_log[:backtrace].first
181
+ assert_equal 'divided by 0', actual_log[:error][:message]
182
+ assert_match 'logger_test.rb', actual_log[:error][:stack_trace].lines.first
183
+ end
184
+
185
+ levels = [
186
+ { method: :debug, level: 'debug' },
187
+ { method: :info, level: 'info' },
188
+ { method: :warning, level: 'warning' },
189
+ { method: :warn, level: 'warning' },
190
+ { method: :error, level: 'error' }
191
+ ]
192
+
193
+ levels.each do |attrs|
194
+ it "should correctly log level when calling #{attrs[:method]}" do
195
+ @logger.public_send(attrs[:method], {message: 'a log message'})
196
+ actual_log = read_json(@buffer)
197
+
198
+ assert_equal attrs[:level], actual_log[:log][:level]
199
+ assert_equal 'a log message', actual_log[:message]
200
+ end
183
201
  end
184
202
 
185
203
  private
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.0.0.pre.alpha.1
4
+ version: 2.0.0
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-03 00:00:00.000000000 Z
11
+ date: 2020-06-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Like a log, only smaller.
14
14
  email:
@@ -51,9 +51,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
51
51
  version: '2.6'
52
52
  required_rubygems_version: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">"
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 1.3.1
56
+ version: '0'
57
57
  requirements: []
58
58
  rubygems_version: 3.1.2
59
59
  signing_key: