memolog 0.5.1 → 0.5.2

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: fc86adaf5e01b9b3a99f65effc344c4c00b8e9d8d2d869bb6fc0bc1f83682050
4
- data.tar.gz: d9bcfb39881184b1165fab899e00e4275bdc6277d7ec403d12f894883204bace
3
+ metadata.gz: 26a1f1133c9b055600c33a91d7c53f59adb80c6d4965d655a5202114d69f770b
4
+ data.tar.gz: bce4c804aec15718d38cb9e73ce9866861676dfa2f2c59d9c3c50e6dd67330de
5
5
  SHA512:
6
- metadata.gz: ef444d32eb36d93d9019971cd70beb33ac812281962919da3113ef66b6c8eefb36786fded4d4b026270220f5faedf2c438ee807b02124b4a9f6cdc7427b95fa6
7
- data.tar.gz: cbee42fa97849f3ae874099c8847a8823c0226ff48bc37884b15b31f037998fe1ec5b822ce91d998ea1c0b9d6cd7d006c7bf258b297d7080d89dda36c0f5fe3e
6
+ metadata.gz: 9ba992c3aae9358737c56c3154d1ebf88007abb26e8b8bcc8225e9a2d9cbc500c01e63b9de6cb4e456e79e067692d36988b87dc30f78fee8ed4abc04f9977ccd
7
+ data.tar.gz: 7c757c5e1b80e846434acc435f4bd5141f483d5c056cb10b837977b62a8acc7795ce5e00bcd6e120a0514c035b6d6dd5cc7d4fe5c586e3831c4b5656362fe30e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- memolog (0.5.1)
4
+ memolog (0.5.2)
5
5
  json (~> 2)
6
6
  logger (~> 1.4.3)
7
7
  securerandom (~> 0.1.0)
@@ -9,67 +9,67 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- actioncable (7.0.7.2)
13
- actionpack (= 7.0.7.2)
14
- activesupport (= 7.0.7.2)
12
+ actioncable (7.0.8)
13
+ actionpack (= 7.0.8)
14
+ activesupport (= 7.0.8)
15
15
  nio4r (~> 2.0)
16
16
  websocket-driver (>= 0.6.1)
17
- actionmailbox (7.0.7.2)
18
- actionpack (= 7.0.7.2)
19
- activejob (= 7.0.7.2)
20
- activerecord (= 7.0.7.2)
21
- activestorage (= 7.0.7.2)
22
- activesupport (= 7.0.7.2)
17
+ actionmailbox (7.0.8)
18
+ actionpack (= 7.0.8)
19
+ activejob (= 7.0.8)
20
+ activerecord (= 7.0.8)
21
+ activestorage (= 7.0.8)
22
+ activesupport (= 7.0.8)
23
23
  mail (>= 2.7.1)
24
24
  net-imap
25
25
  net-pop
26
26
  net-smtp
27
- actionmailer (7.0.7.2)
28
- actionpack (= 7.0.7.2)
29
- actionview (= 7.0.7.2)
30
- activejob (= 7.0.7.2)
31
- activesupport (= 7.0.7.2)
27
+ actionmailer (7.0.8)
28
+ actionpack (= 7.0.8)
29
+ actionview (= 7.0.8)
30
+ activejob (= 7.0.8)
31
+ activesupport (= 7.0.8)
32
32
  mail (~> 2.5, >= 2.5.4)
33
33
  net-imap
34
34
  net-pop
35
35
  net-smtp
36
36
  rails-dom-testing (~> 2.0)
37
- actionpack (7.0.7.2)
38
- actionview (= 7.0.7.2)
39
- activesupport (= 7.0.7.2)
37
+ actionpack (7.0.8)
38
+ actionview (= 7.0.8)
39
+ activesupport (= 7.0.8)
40
40
  rack (~> 2.0, >= 2.2.4)
41
41
  rack-test (>= 0.6.3)
42
42
  rails-dom-testing (~> 2.0)
43
43
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
44
- actiontext (7.0.7.2)
45
- actionpack (= 7.0.7.2)
46
- activerecord (= 7.0.7.2)
47
- activestorage (= 7.0.7.2)
48
- activesupport (= 7.0.7.2)
44
+ actiontext (7.0.8)
45
+ actionpack (= 7.0.8)
46
+ activerecord (= 7.0.8)
47
+ activestorage (= 7.0.8)
48
+ activesupport (= 7.0.8)
49
49
  globalid (>= 0.6.0)
50
50
  nokogiri (>= 1.8.5)
51
- actionview (7.0.7.2)
52
- activesupport (= 7.0.7.2)
51
+ actionview (7.0.8)
52
+ activesupport (= 7.0.8)
53
53
  builder (~> 3.1)
54
54
  erubi (~> 1.4)
55
55
  rails-dom-testing (~> 2.0)
56
56
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
57
- activejob (7.0.7.2)
58
- activesupport (= 7.0.7.2)
57
+ activejob (7.0.8)
58
+ activesupport (= 7.0.8)
59
59
  globalid (>= 0.3.6)
60
- activemodel (7.0.7.2)
61
- activesupport (= 7.0.7.2)
62
- activerecord (7.0.7.2)
63
- activemodel (= 7.0.7.2)
64
- activesupport (= 7.0.7.2)
65
- activestorage (7.0.7.2)
66
- actionpack (= 7.0.7.2)
67
- activejob (= 7.0.7.2)
68
- activerecord (= 7.0.7.2)
69
- activesupport (= 7.0.7.2)
60
+ activemodel (7.0.8)
61
+ activesupport (= 7.0.8)
62
+ activerecord (7.0.8)
63
+ activemodel (= 7.0.8)
64
+ activesupport (= 7.0.8)
65
+ activestorage (7.0.8)
66
+ actionpack (= 7.0.8)
67
+ activejob (= 7.0.8)
68
+ activerecord (= 7.0.8)
69
+ activesupport (= 7.0.8)
70
70
  marcel (~> 1.0)
71
71
  mini_mime (>= 1.1.0)
72
- activesupport (7.0.7.2)
72
+ activesupport (7.0.8)
73
73
  concurrent-ruby (~> 1.0, >= 1.0.2)
74
74
  i18n (>= 1.6, < 2)
75
75
  minitest (>= 5.1)
@@ -100,7 +100,7 @@ GEM
100
100
  marcel (1.0.2)
101
101
  method_source (1.0.0)
102
102
  mini_mime (1.1.5)
103
- minitest (5.19.0)
103
+ minitest (5.20.0)
104
104
  net-imap (0.3.7)
105
105
  date
106
106
  net-protocol
@@ -108,7 +108,7 @@ GEM
108
108
  net-protocol
109
109
  net-protocol (0.2.1)
110
110
  timeout
111
- net-smtp (0.3.3)
111
+ net-smtp (0.4.0)
112
112
  net-protocol
113
113
  nio4r (2.5.9)
114
114
  nokogiri (1.15.4-arm64-darwin)
@@ -128,20 +128,20 @@ GEM
128
128
  rack (2.2.8)
129
129
  rack-test (2.1.0)
130
130
  rack (>= 1.3)
131
- rails (7.0.7.2)
132
- actioncable (= 7.0.7.2)
133
- actionmailbox (= 7.0.7.2)
134
- actionmailer (= 7.0.7.2)
135
- actionpack (= 7.0.7.2)
136
- actiontext (= 7.0.7.2)
137
- actionview (= 7.0.7.2)
138
- activejob (= 7.0.7.2)
139
- activemodel (= 7.0.7.2)
140
- activerecord (= 7.0.7.2)
141
- activestorage (= 7.0.7.2)
142
- activesupport (= 7.0.7.2)
131
+ rails (7.0.8)
132
+ actioncable (= 7.0.8)
133
+ actionmailbox (= 7.0.8)
134
+ actionmailer (= 7.0.8)
135
+ actionpack (= 7.0.8)
136
+ actiontext (= 7.0.8)
137
+ actionview (= 7.0.8)
138
+ activejob (= 7.0.8)
139
+ activemodel (= 7.0.8)
140
+ activerecord (= 7.0.8)
141
+ activestorage (= 7.0.8)
142
+ activesupport (= 7.0.8)
143
143
  bundler (>= 1.15.0)
144
- railties (= 7.0.7.2)
144
+ railties (= 7.0.8)
145
145
  rails-dom-testing (2.2.0)
146
146
  activesupport (>= 5.0.0)
147
147
  minitest
@@ -149,9 +149,9 @@ GEM
149
149
  rails-html-sanitizer (1.6.0)
150
150
  loofah (~> 2.21)
151
151
  nokogiri (~> 1.14)
152
- railties (7.0.7.2)
153
- actionpack (= 7.0.7.2)
154
- activesupport (= 7.0.7.2)
152
+ railties (7.0.8)
153
+ actionpack (= 7.0.8)
154
+ activesupport (= 7.0.8)
155
155
  method_source
156
156
  rake (>= 12.2)
157
157
  thor (~> 1.0)
@@ -187,7 +187,7 @@ GEM
187
187
  unicode-display_width (>= 2.4.0, < 3.0)
188
188
  rubocop-ast (1.29.0)
189
189
  parser (>= 3.2.1.0)
190
- rubocop-capybara (2.18.0)
190
+ rubocop-capybara (2.19.0)
191
191
  rubocop (~> 1.41)
192
192
  rubocop-config-umbrellio (1.50.0.85)
193
193
  rubocop (~> 1.50.0)
@@ -212,7 +212,7 @@ GEM
212
212
  rubocop (~> 1.0)
213
213
  ruby-progressbar (1.13.0)
214
214
  securerandom (0.1.1)
215
- sidekiq (7.1.2)
215
+ sidekiq (7.1.5)
216
216
  concurrent-ruby (< 2)
217
217
  connection_pool (>= 2.3.0)
218
218
  rack (>= 2.2.4)
@@ -221,11 +221,11 @@ GEM
221
221
  timeout (0.4.0)
222
222
  tzinfo (2.0.6)
223
223
  concurrent-ruby (~> 1.0)
224
- unicode-display_width (2.4.2)
224
+ unicode-display_width (2.5.0)
225
225
  websocket-driver (0.7.6)
226
226
  websocket-extensions (>= 0.1.0)
227
227
  websocket-extensions (0.1.5)
228
- zeitwerk (2.6.11)
228
+ zeitwerk (2.6.12)
229
229
 
230
230
  PLATFORMS
231
231
  arm64-darwin-22
@@ -3,13 +3,15 @@
3
3
  Memolog::Config = Struct.new(
4
4
  :debug,
5
5
  :formatter,
6
- :middlewares,
6
+ :isolation_level,
7
7
  :log_size_limit,
8
+ :middlewares,
8
9
  ) do
9
10
  def initialize
10
11
  self.debug = false
11
12
  self.formatter = Logger::Formatter.new
12
- self.middlewares = %i[rails sidekiq]
13
+ self.isolation_level = :thread
13
14
  self.log_size_limit = 50_000
15
+ self.middlewares = %i[rails sidekiq]
14
16
  end
15
17
  end
@@ -2,12 +2,12 @@
2
2
 
3
3
  module Memolog::LoggerExtension
4
4
  def add(*args, &block)
5
- Memolog.logger.log(*args, &block)
5
+ Memolog.log(*args, &block)
6
6
  super
7
7
  end
8
8
 
9
9
  def log(*args, &block)
10
- Memolog.logger.log(*args, &block)
10
+ Memolog.log(*args, &block)
11
11
  super
12
12
  end
13
13
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Memolog
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.2"
5
5
  end
data/lib/memolog.rb CHANGED
@@ -31,14 +31,6 @@ module Memolog
31
31
  other_logger.extend(Memolog::LoggerExtension)
32
32
  end
33
33
 
34
- def logger
35
- Thread.current[:memolog_logger] ||= Logger.new(nil, formatter: config.formatter)
36
- end
37
-
38
- def logdevs
39
- Thread.current[:memolog_logdevs] ||= []
40
- end
41
-
42
34
  def run
43
35
  logdevs.push(StringIO.new)
44
36
  logger.instance_variable_set(:@logdev, logdevs.last)
@@ -48,6 +40,10 @@ module Memolog
48
40
  logdevs.pop unless config.debug
49
41
  end
50
42
 
43
+ def log(*args, &block)
44
+ logger.log(*args, &block)
45
+ end
46
+
51
47
  def dump(parse_json: false)
52
48
  return if logdevs.empty?
53
49
 
@@ -60,4 +56,18 @@ module Memolog
60
56
  rescue JSON::ParserError
61
57
  dump
62
58
  end
59
+
60
+ private
61
+
62
+ def logger
63
+ storage[:memolog_logger] ||= Logger.new(nil, formatter: config.formatter)
64
+ end
65
+
66
+ def logdevs
67
+ storage[:memolog_logdevs] ||= []
68
+ end
69
+
70
+ def storage
71
+ config.isolation_level == :fiber ? Fiber : Thread.current
72
+ end
63
73
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memolog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stepan Kirushkin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-06 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json