twiglet 2.0.0.pre.alpha.1 → 2.0.0

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: 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: