green_log 0.2.0 → 1.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: 505b570d0cf686dae462b48c5480e527d039e8e8bdf334e400a33a88da50cd77
4
- data.tar.gz: 75104ff8e40ae40a08913433591247f39788053da332b7f9485b386af1f1787a
3
+ metadata.gz: e5b5433755b4109fd922e8b52ddb5548f197a138828440db5a34d3e36cbfef7a
4
+ data.tar.gz: 7662ef6e5b9ffa36b325ef0a35d024291063a5862824e98c026e0792a5d50947
5
5
  SHA512:
6
- metadata.gz: df89efb0360c12c546715c5e99caeae2f305ddbee4e9200eba8ea6badec30163a2932d9ffdf12b596f8aa0cb28e54bf3940e163730833c768626c42db8fc0094
7
- data.tar.gz: 2e661586a2ffcb6aa851a0d87e1b38e96966d394e5a69b5dbc1a56969b49baa8ce7cf38e9433c5b2411ec70f3c4fb15bf0d45640ed1c9d3432277cd4318086c0
6
+ metadata.gz: ba12d366ae1cad087af69a2f237657f5f25671dce6f9c0ad91394afa63ec0b6f537906f022dabc8e5bf00c973504f4353c9500e4d80481eec530eb58c930f905
7
+ data.tar.gz: 640bd883b9b8acb70d338e67d7c891f816a9763e73fe19e249c7de52c642fb56067bc31c9769a4a154f35bf64752cee7e5150893c23a5c2520f17ed564192beb
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # GreenLog
2
2
 
3
- ![](https://github.com/greensync/green_log/workflows/CI/badge.svg)
3
+ [![Gem Version](https://badge.fury.io/rb/green_log.svg)](http://badge.fury.io/rb/green_log)
4
+ [![Build Status](https://github.com/mdub/green_log/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/mdub/green_log/actions/workflows/ci.yml)
4
5
 
5
6
  GreenLog is a logging library for Ruby applications. It:
6
7
 
@@ -207,7 +208,7 @@ use GreenLog::Rack::RequestLogging, logger
207
208
 
208
209
  ## Contributing
209
210
 
210
- Bug reports and pull requests are welcome on GitHub at https://github.com/greensync/green_log.
211
+ Bug reports and pull requests are welcome on GitHub at https://github.com/mdub/green_log.
211
212
 
212
213
  ## License
213
214
 
data/green_log.gemspec CHANGED
@@ -8,10 +8,10 @@ Gem::Specification.new do |spec|
8
8
  spec.name = "green_log"
9
9
  spec.version = GreenLog::VERSION
10
10
  spec.authors = ["Mike Williams"]
11
- spec.email = ["mike.williams@greensync.com.au"]
11
+ spec.email = ["mdub@dogbiscuit.org"]
12
12
 
13
13
  spec.summary = "Structured logging for cloud-native systems."
14
- spec.homepage = "https://github.com/greensync/green_log"
14
+ spec.homepage = "https://github.com/mdub/green_log"
15
15
  spec.license = "MIT"
16
16
 
17
17
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
@@ -24,7 +24,8 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.add_runtime_dependency "values", "~> 1.8"
27
+ spec.required_ruby_version = ">= 2.7.0"
28
+
28
29
  spec.add_development_dependency "bundler", "~> 2.0"
29
30
  spec.add_development_dependency "pry", "~> 0.12.2"
30
31
  spec.add_development_dependency "rack"
@@ -28,6 +28,14 @@ module GreenLog
28
28
 
29
29
  end
30
30
 
31
+ refine ::Array do
32
+
33
+ def to_loggable_value
34
+ map(&:to_loggable_value).freeze
35
+ end
36
+
37
+ end
38
+
31
39
  refine ::Numeric do
32
40
 
33
41
  def to_loggable_value
@@ -2,15 +2,28 @@
2
2
 
3
3
  require "green_log/core_refinements"
4
4
  require "green_log/severity"
5
- require "values"
6
5
 
7
6
  module GreenLog
8
7
 
9
8
  # Represents a structured log entry.
10
- class Entry < Value.new(:severity, :message, :context, :data, :exception)
9
+ class Entry
11
10
 
12
11
  using CoreRefinements
13
12
 
13
+ def initialize(severity:, message:, context:, data:, exception:)
14
+ @severity = severity
15
+ @message = message
16
+ @context = context
17
+ @data = data
18
+ @exception = exception
19
+ end
20
+
21
+ attr_reader :severity
22
+ attr_reader :message
23
+ attr_reader :context
24
+ attr_reader :data
25
+ attr_reader :exception
26
+
14
27
  class << self
15
28
 
16
29
  def with(**args)
@@ -21,7 +34,7 @@ module GreenLog
21
34
  args[:context] = args.fetch(:context, {}).to_loggable_value
22
35
  args[:data] = args.fetch(:data, {}).to_loggable_value
23
36
  args[:exception] ||= nil
24
- super(**args)
37
+ new(**args)
25
38
  end
26
39
 
27
40
  def build(severity, *args, &block)
@@ -31,7 +44,13 @@ module GreenLog
31
44
  end
32
45
 
33
46
  def in_context(extra_context)
34
- with(context: extra_context.integrate(context).to_loggable_value)
47
+ Entry.new(
48
+ severity: severity,
49
+ message: message,
50
+ context: extra_context.integrate(context).to_loggable_value,
51
+ data: data,
52
+ exception: exception,
53
+ )
35
54
  end
36
55
 
37
56
  # A builder for entries.
@@ -64,11 +64,15 @@ module GreenLog
64
64
  end
65
65
 
66
66
  def request_body(request)
67
- original_position = request.body.pos
68
- request.body.rewind
69
- request.body.read
70
- ensure
71
- request.body.seek(original_position)
67
+ return "" if request.body.size.zero?
68
+
69
+ begin
70
+ original_position = request.body.pos
71
+ request.body.rewind
72
+ request.body.read
73
+ ensure
74
+ request.body.seek(original_position)
75
+ end
72
76
  end
73
77
 
74
78
  def response_details(response)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GreenLog
4
4
 
5
- VERSION = "0.2.0"
5
+ VERSION = "1.0.0"
6
6
 
7
7
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: green_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Williams
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-17 00:00:00.000000000 Z
11
+ date: 2023-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: values
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.8'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.8'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -108,9 +94,9 @@ dependencies:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0.77'
111
- description:
97
+ description:
112
98
  email:
113
- - mike.williams@greensync.com.au
99
+ - mdub@dogbiscuit.org
114
100
  executables: []
115
101
  extensions: []
116
102
  extra_rdoc_files: []
@@ -141,11 +127,11 @@ files:
141
127
  - lib/green_log/severity_threshold_support.rb
142
128
  - lib/green_log/simple_writer.rb
143
129
  - lib/green_log/version.rb
144
- homepage: https://github.com/greensync/green_log
130
+ homepage: https://github.com/mdub/green_log
145
131
  licenses:
146
132
  - MIT
147
133
  metadata: {}
148
- post_install_message:
134
+ post_install_message:
149
135
  rdoc_options: []
150
136
  require_paths:
151
137
  - lib
@@ -153,15 +139,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
139
  requirements:
154
140
  - - ">="
155
141
  - !ruby/object:Gem::Version
156
- version: '0'
142
+ version: 2.7.0
157
143
  required_rubygems_version: !ruby/object:Gem::Requirement
158
144
  requirements:
159
145
  - - ">="
160
146
  - !ruby/object:Gem::Version
161
147
  version: '0'
162
148
  requirements: []
163
- rubygems_version: 3.0.3
164
- signing_key:
149
+ rubygems_version: 3.1.2
150
+ signing_key:
165
151
  specification_version: 4
166
152
  summary: Structured logging for cloud-native systems.
167
153
  test_files: []