lamian 1.8.0 → 1.10.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 +4 -4
- data/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +1 -1
- data/Changelog.md +14 -8
- data/Gemfile +14 -0
- data/Gemfile.lock +180 -161
- data/README.md +13 -0
- data/lib/lamian/config.rb +12 -3
- data/lib/lamian/engine.rb +3 -1
- data/lib/lamian/log_device.rb +24 -0
- data/lib/lamian/logger.rb +2 -3
- data/lib/lamian/version.rb +1 -1
- data/lib/lamian.rb +4 -3
- metadata +4 -185
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '0483ed83892dd5d119ff70c1175ef0a17b659983abc2340368c7a7e84aa2834c'
|
|
4
|
+
data.tar.gz: 0edef13afd8a59684ca378ddd0fd9b7b8e247ac84077c0a24e059054c3c62437
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79391e1eea5168c7f168c8c650eeb07dec90e1a791b276896ee29eb5cb8dbc4088670eed74f959dc075064efa79620492e28f0c3c14005d76a7bc747b1959098
|
|
7
|
+
data.tar.gz: 38f701100c15dc866255e710b6803ce1ae2a3cebdeaf6c9f12e9826a0d62aab3c97af933e24b7420d522a5a8403d316274e7ec53d415d02121e83441e82e1c52
|
data/.github/workflows/test.yml
CHANGED
data/.rubocop.yml
CHANGED
data/Changelog.md
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
## 1.10.0
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
* Add an ability to insert Lamian's middleware inside the rails initialization process manually (`Lamian.config.middleware_autoset = true/false`)
|
|
4
|
+
* Drop EOL rubies from CI;
|
|
5
|
+
* Minimal Ruby version: 3.1;
|
|
6
|
+
|
|
7
|
+
## 1.9.0
|
|
8
|
+
|
|
9
|
+
* Add `max_log_lines` config option to limit number of most recent log lines stored in the log device
|
|
6
10
|
|
|
7
11
|
## 1.8.0
|
|
12
|
+
|
|
8
13
|
* Minor dependency updates;
|
|
9
14
|
|
|
10
15
|
## 1.3.0
|
|
16
|
+
|
|
11
17
|
* Add support for the (new sentry gem)[https://github.com/getsentry/sentry-ruby].
|
|
12
18
|
|
|
13
19
|
## 1.2.0
|
|
20
|
+
|
|
14
21
|
* Add `raven_log_size_limit` config option for limiting amount of data sent to sentry (defaults to `500_000`)
|
|
15
22
|
|
|
16
23
|
## 1.1.0
|
|
24
|
+
|
|
17
25
|
* Add support for sentry and sidekiq
|
|
18
26
|
|
|
19
27
|
## 1.0.0
|
|
@@ -30,7 +38,6 @@ which ruins concept of single entry point :(. Also tied it to lamian instance
|
|
|
30
38
|
|
|
31
39
|
* `e57e6cec` Changed rails dependency from `~> 4.2` to `>= 4.2`
|
|
32
40
|
|
|
33
|
-
|
|
34
41
|
## 0.3.1
|
|
35
42
|
|
|
36
43
|
* 34ca83b5 Fixed formatting
|
|
@@ -38,7 +45,6 @@ which ruins concept of single entry point :(. Also tied it to lamian instance
|
|
|
38
45
|
Stabilized formatting api, which removes control sequences from loggers data.
|
|
39
46
|
E.g. `"[23mNice, lol[0m\n"` becomes `"Nice, lol\n"`
|
|
40
47
|
|
|
41
|
-
|
|
42
48
|
## 0.3.0
|
|
43
49
|
|
|
44
50
|
* `d24f895b` API update
|
|
@@ -46,13 +52,13 @@ E.g. `"[23mNice, lol[0m\n"` becomes `"Nice, lol\n"`
|
|
|
46
52
|
Updated API, so lamian is now forced to be used with block.
|
|
47
53
|
It also simplified usage outside a middleware
|
|
48
54
|
|
|
49
|
-
|
|
50
55
|
## 0.2.0
|
|
56
|
+
|
|
51
57
|
* `3166517e` Added integrtation with rails
|
|
52
58
|
|
|
53
59
|
Injected middleware before `ExceptionNotification`, so `ExceptionNotification`
|
|
54
60
|
can use current log without any configuration. Also added some views
|
|
55
61
|
|
|
56
|
-
|
|
57
62
|
## 0.1.0
|
|
63
|
+
|
|
58
64
|
* `62eb8685` Made test version to check it's integration with rails application
|
data/Gemfile
CHANGED
|
@@ -4,3 +4,17 @@ source "https://rubygems.org"
|
|
|
4
4
|
|
|
5
5
|
# Specify your gem's dependencies in lamian.gemspec
|
|
6
6
|
gemspec
|
|
7
|
+
|
|
8
|
+
gem "bundler-audit"
|
|
9
|
+
gem "ci-helper"
|
|
10
|
+
gem "launchy"
|
|
11
|
+
gem "pry"
|
|
12
|
+
gem "rake"
|
|
13
|
+
gem "rspec"
|
|
14
|
+
gem "rubocop-config-umbrellio"
|
|
15
|
+
gem "semantic_logger"
|
|
16
|
+
gem "sentry-raven"
|
|
17
|
+
gem "sentry-ruby"
|
|
18
|
+
gem "simplecov"
|
|
19
|
+
gem "simplecov-lcov"
|
|
20
|
+
gem "yard"
|
data/Gemfile.lock
CHANGED
|
@@ -1,126 +1,127 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
lamian (1.
|
|
4
|
+
lamian (1.9.0)
|
|
5
5
|
rails (>= 4.2)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
actioncable (7.
|
|
11
|
-
actionpack (= 7.
|
|
12
|
-
activesupport (= 7.
|
|
10
|
+
actioncable (7.2.0)
|
|
11
|
+
actionpack (= 7.2.0)
|
|
12
|
+
activesupport (= 7.2.0)
|
|
13
13
|
nio4r (~> 2.0)
|
|
14
14
|
websocket-driver (>= 0.6.1)
|
|
15
15
|
zeitwerk (~> 2.6)
|
|
16
|
-
actionmailbox (7.
|
|
17
|
-
actionpack (= 7.
|
|
18
|
-
activejob (= 7.
|
|
19
|
-
activerecord (= 7.
|
|
20
|
-
activestorage (= 7.
|
|
21
|
-
activesupport (= 7.
|
|
22
|
-
mail (>= 2.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
activejob (= 7.1.3)
|
|
30
|
-
activesupport (= 7.1.3)
|
|
31
|
-
mail (~> 2.5, >= 2.5.4)
|
|
32
|
-
net-imap
|
|
33
|
-
net-pop
|
|
34
|
-
net-smtp
|
|
16
|
+
actionmailbox (7.2.0)
|
|
17
|
+
actionpack (= 7.2.0)
|
|
18
|
+
activejob (= 7.2.0)
|
|
19
|
+
activerecord (= 7.2.0)
|
|
20
|
+
activestorage (= 7.2.0)
|
|
21
|
+
activesupport (= 7.2.0)
|
|
22
|
+
mail (>= 2.8.0)
|
|
23
|
+
actionmailer (7.2.0)
|
|
24
|
+
actionpack (= 7.2.0)
|
|
25
|
+
actionview (= 7.2.0)
|
|
26
|
+
activejob (= 7.2.0)
|
|
27
|
+
activesupport (= 7.2.0)
|
|
28
|
+
mail (>= 2.8.0)
|
|
35
29
|
rails-dom-testing (~> 2.2)
|
|
36
|
-
actionpack (7.
|
|
37
|
-
actionview (= 7.
|
|
38
|
-
activesupport (= 7.
|
|
30
|
+
actionpack (7.2.0)
|
|
31
|
+
actionview (= 7.2.0)
|
|
32
|
+
activesupport (= 7.2.0)
|
|
39
33
|
nokogiri (>= 1.8.5)
|
|
40
34
|
racc
|
|
41
|
-
rack (>= 2.2.4)
|
|
35
|
+
rack (>= 2.2.4, < 3.2)
|
|
42
36
|
rack-session (>= 1.0.1)
|
|
43
37
|
rack-test (>= 0.6.3)
|
|
44
38
|
rails-dom-testing (~> 2.2)
|
|
45
39
|
rails-html-sanitizer (~> 1.6)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
useragent (~> 0.16)
|
|
41
|
+
actiontext (7.2.0)
|
|
42
|
+
actionpack (= 7.2.0)
|
|
43
|
+
activerecord (= 7.2.0)
|
|
44
|
+
activestorage (= 7.2.0)
|
|
45
|
+
activesupport (= 7.2.0)
|
|
51
46
|
globalid (>= 0.6.0)
|
|
52
47
|
nokogiri (>= 1.8.5)
|
|
53
|
-
actionview (7.
|
|
54
|
-
activesupport (= 7.
|
|
48
|
+
actionview (7.2.0)
|
|
49
|
+
activesupport (= 7.2.0)
|
|
55
50
|
builder (~> 3.1)
|
|
56
51
|
erubi (~> 1.11)
|
|
57
52
|
rails-dom-testing (~> 2.2)
|
|
58
53
|
rails-html-sanitizer (~> 1.6)
|
|
59
|
-
activejob (7.
|
|
60
|
-
activesupport (= 7.
|
|
54
|
+
activejob (7.2.0)
|
|
55
|
+
activesupport (= 7.2.0)
|
|
61
56
|
globalid (>= 0.3.6)
|
|
62
|
-
activemodel (7.
|
|
63
|
-
activesupport (= 7.
|
|
64
|
-
activerecord (7.
|
|
65
|
-
activemodel (= 7.
|
|
66
|
-
activesupport (= 7.
|
|
57
|
+
activemodel (7.2.0)
|
|
58
|
+
activesupport (= 7.2.0)
|
|
59
|
+
activerecord (7.2.0)
|
|
60
|
+
activemodel (= 7.2.0)
|
|
61
|
+
activesupport (= 7.2.0)
|
|
67
62
|
timeout (>= 0.4.0)
|
|
68
|
-
activestorage (7.
|
|
69
|
-
actionpack (= 7.
|
|
70
|
-
activejob (= 7.
|
|
71
|
-
activerecord (= 7.
|
|
72
|
-
activesupport (= 7.
|
|
63
|
+
activestorage (7.2.0)
|
|
64
|
+
actionpack (= 7.2.0)
|
|
65
|
+
activejob (= 7.2.0)
|
|
66
|
+
activerecord (= 7.2.0)
|
|
67
|
+
activesupport (= 7.2.0)
|
|
73
68
|
marcel (~> 1.0)
|
|
74
|
-
activesupport (7.
|
|
69
|
+
activesupport (7.2.0)
|
|
75
70
|
base64
|
|
76
71
|
bigdecimal
|
|
77
|
-
concurrent-ruby (~> 1.0, >= 1.
|
|
72
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
78
73
|
connection_pool (>= 2.2.5)
|
|
79
74
|
drb
|
|
80
75
|
i18n (>= 1.6, < 2)
|
|
76
|
+
logger (>= 1.4.2)
|
|
81
77
|
minitest (>= 5.1)
|
|
82
|
-
|
|
83
|
-
tzinfo (~> 2.0)
|
|
84
|
-
addressable (2.8.
|
|
85
|
-
public_suffix (>= 2.0.2, <
|
|
78
|
+
securerandom (>= 0.3)
|
|
79
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
80
|
+
addressable (2.8.7)
|
|
81
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
86
82
|
ast (2.4.2)
|
|
87
83
|
base64 (0.2.0)
|
|
88
|
-
bigdecimal (3.1.
|
|
89
|
-
builder (3.
|
|
84
|
+
bigdecimal (3.1.8)
|
|
85
|
+
builder (3.3.0)
|
|
90
86
|
bundler-audit (0.9.1)
|
|
91
87
|
bundler (>= 1.2.0, < 3)
|
|
92
88
|
thor (~> 1.0)
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
childprocess (5.1.0)
|
|
90
|
+
logger (~> 1.5)
|
|
91
|
+
ci-helper (0.6.0)
|
|
92
|
+
colorize (~> 1.1)
|
|
93
|
+
dry-inflector (~> 1.0)
|
|
94
|
+
umbrellio-sequel-plugins (~> 0.14)
|
|
97
95
|
coderay (1.1.3)
|
|
98
|
-
colorize (
|
|
99
|
-
concurrent-ruby (1.
|
|
96
|
+
colorize (1.1.0)
|
|
97
|
+
concurrent-ruby (1.3.4)
|
|
100
98
|
connection_pool (2.4.1)
|
|
101
99
|
crass (1.0.6)
|
|
102
100
|
date (3.3.4)
|
|
103
|
-
diff-lcs (1.5.
|
|
104
|
-
docile (1.4.
|
|
105
|
-
drb (2.2.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
101
|
+
diff-lcs (1.5.1)
|
|
102
|
+
docile (1.4.1)
|
|
103
|
+
drb (2.2.1)
|
|
104
|
+
dry-inflector (1.1.0)
|
|
105
|
+
erubi (1.13.0)
|
|
106
|
+
faraday (2.10.1)
|
|
107
|
+
faraday-net_http (>= 2.0, < 3.2)
|
|
108
|
+
logger
|
|
109
|
+
faraday-net_http (3.1.1)
|
|
110
|
+
net-http
|
|
113
111
|
globalid (1.2.1)
|
|
114
112
|
activesupport (>= 6.1)
|
|
115
|
-
i18n (1.14.
|
|
113
|
+
i18n (1.14.5)
|
|
116
114
|
concurrent-ruby (~> 1.0)
|
|
117
115
|
io-console (0.7.2)
|
|
118
|
-
irb (1.
|
|
119
|
-
rdoc
|
|
116
|
+
irb (1.14.0)
|
|
117
|
+
rdoc (>= 4.0.0)
|
|
120
118
|
reline (>= 0.4.2)
|
|
121
|
-
json (2.
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
json (2.7.2)
|
|
120
|
+
language_server-protocol (3.17.0.3)
|
|
121
|
+
launchy (3.0.1)
|
|
122
|
+
addressable (~> 2.8)
|
|
123
|
+
childprocess (~> 5.0)
|
|
124
|
+
logger (1.6.0)
|
|
124
125
|
loofah (2.22.0)
|
|
125
126
|
crass (~> 1.0.2)
|
|
126
127
|
nokogiri (>= 1.12.0)
|
|
@@ -129,61 +130,63 @@ GEM
|
|
|
129
130
|
net-imap
|
|
130
131
|
net-pop
|
|
131
132
|
net-smtp
|
|
132
|
-
marcel (1.0.
|
|
133
|
-
method_source (1.
|
|
133
|
+
marcel (1.0.4)
|
|
134
|
+
method_source (1.1.0)
|
|
134
135
|
mini_mime (1.1.5)
|
|
135
|
-
mini_portile2 (2.8.
|
|
136
|
-
minitest (5.
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
mini_portile2 (2.8.7)
|
|
137
|
+
minitest (5.25.0)
|
|
138
|
+
net-http (0.4.1)
|
|
139
|
+
uri
|
|
140
|
+
net-imap (0.4.14)
|
|
139
141
|
date
|
|
140
142
|
net-protocol
|
|
141
143
|
net-pop (0.1.2)
|
|
142
144
|
net-protocol
|
|
143
145
|
net-protocol (0.2.2)
|
|
144
146
|
timeout
|
|
145
|
-
net-smtp (0.
|
|
147
|
+
net-smtp (0.5.0)
|
|
146
148
|
net-protocol
|
|
147
|
-
nio4r (2.7.
|
|
148
|
-
nokogiri (1.16.
|
|
149
|
+
nio4r (2.7.3)
|
|
150
|
+
nokogiri (1.16.7)
|
|
149
151
|
mini_portile2 (~> 2.8.2)
|
|
150
152
|
racc (~> 1.4)
|
|
151
|
-
nokogiri (1.16.
|
|
153
|
+
nokogiri (1.16.7-x86_64-darwin)
|
|
152
154
|
racc (~> 1.4)
|
|
153
|
-
nokogiri (1.16.
|
|
155
|
+
nokogiri (1.16.7-x86_64-linux)
|
|
154
156
|
racc (~> 1.4)
|
|
155
|
-
parallel (1.
|
|
156
|
-
parser (3.
|
|
157
|
+
parallel (1.26.2)
|
|
158
|
+
parser (3.3.4.2)
|
|
157
159
|
ast (~> 2.4.1)
|
|
158
|
-
|
|
160
|
+
racc
|
|
161
|
+
pry (0.14.2)
|
|
159
162
|
coderay (~> 1.1)
|
|
160
163
|
method_source (~> 1.0)
|
|
161
164
|
psych (5.1.2)
|
|
162
165
|
stringio
|
|
163
|
-
public_suffix (
|
|
164
|
-
racc (1.
|
|
165
|
-
rack (3.
|
|
166
|
+
public_suffix (6.0.1)
|
|
167
|
+
racc (1.8.1)
|
|
168
|
+
rack (3.1.7)
|
|
166
169
|
rack-session (2.0.0)
|
|
167
170
|
rack (>= 3.0.0)
|
|
168
171
|
rack-test (2.1.0)
|
|
169
172
|
rack (>= 1.3)
|
|
170
|
-
rackup (2.
|
|
173
|
+
rackup (2.1.0)
|
|
171
174
|
rack (>= 3)
|
|
172
|
-
webrick
|
|
173
|
-
rails (7.
|
|
174
|
-
actioncable (= 7.
|
|
175
|
-
actionmailbox (= 7.
|
|
176
|
-
actionmailer (= 7.
|
|
177
|
-
actionpack (= 7.
|
|
178
|
-
actiontext (= 7.
|
|
179
|
-
actionview (= 7.
|
|
180
|
-
activejob (= 7.
|
|
181
|
-
activemodel (= 7.
|
|
182
|
-
activerecord (= 7.
|
|
183
|
-
activestorage (= 7.
|
|
184
|
-
activesupport (= 7.
|
|
175
|
+
webrick (~> 1.8)
|
|
176
|
+
rails (7.2.0)
|
|
177
|
+
actioncable (= 7.2.0)
|
|
178
|
+
actionmailbox (= 7.2.0)
|
|
179
|
+
actionmailer (= 7.2.0)
|
|
180
|
+
actionpack (= 7.2.0)
|
|
181
|
+
actiontext (= 7.2.0)
|
|
182
|
+
actionview (= 7.2.0)
|
|
183
|
+
activejob (= 7.2.0)
|
|
184
|
+
activemodel (= 7.2.0)
|
|
185
|
+
activerecord (= 7.2.0)
|
|
186
|
+
activestorage (= 7.2.0)
|
|
187
|
+
activesupport (= 7.2.0)
|
|
185
188
|
bundler (>= 1.15.0)
|
|
186
|
-
railties (= 7.
|
|
189
|
+
railties (= 7.2.0)
|
|
187
190
|
rails-dom-testing (2.2.0)
|
|
188
191
|
activesupport (>= 5.0.0)
|
|
189
192
|
minitest
|
|
@@ -191,100 +194,116 @@ GEM
|
|
|
191
194
|
rails-html-sanitizer (1.6.0)
|
|
192
195
|
loofah (~> 2.21)
|
|
193
196
|
nokogiri (~> 1.14)
|
|
194
|
-
railties (7.
|
|
195
|
-
actionpack (= 7.
|
|
196
|
-
activesupport (= 7.
|
|
197
|
-
irb
|
|
197
|
+
railties (7.2.0)
|
|
198
|
+
actionpack (= 7.2.0)
|
|
199
|
+
activesupport (= 7.2.0)
|
|
200
|
+
irb (~> 1.13)
|
|
198
201
|
rackup (>= 1.0.0)
|
|
199
202
|
rake (>= 12.2)
|
|
200
203
|
thor (~> 1.0, >= 1.2.2)
|
|
201
204
|
zeitwerk (~> 2.6)
|
|
202
205
|
rainbow (3.1.1)
|
|
203
|
-
rake (13.1
|
|
204
|
-
rdoc (6.
|
|
206
|
+
rake (13.2.1)
|
|
207
|
+
rdoc (6.7.0)
|
|
205
208
|
psych (>= 4.0.0)
|
|
206
|
-
regexp_parser (2.
|
|
207
|
-
reline (0.
|
|
209
|
+
regexp_parser (2.9.2)
|
|
210
|
+
reline (0.5.9)
|
|
208
211
|
io-console (~> 0.5)
|
|
209
|
-
rexml (3.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
rspec-
|
|
213
|
-
rspec-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
212
|
+
rexml (3.3.5)
|
|
213
|
+
strscan
|
|
214
|
+
rspec (3.13.0)
|
|
215
|
+
rspec-core (~> 3.13.0)
|
|
216
|
+
rspec-expectations (~> 3.13.0)
|
|
217
|
+
rspec-mocks (~> 3.13.0)
|
|
218
|
+
rspec-core (3.13.0)
|
|
219
|
+
rspec-support (~> 3.13.0)
|
|
220
|
+
rspec-expectations (3.13.1)
|
|
217
221
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
218
|
-
rspec-support (~> 3.
|
|
219
|
-
rspec-mocks (3.
|
|
222
|
+
rspec-support (~> 3.13.0)
|
|
223
|
+
rspec-mocks (3.13.1)
|
|
220
224
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
221
|
-
rspec-support (~> 3.
|
|
222
|
-
rspec-support (3.
|
|
223
|
-
rubocop (1.
|
|
225
|
+
rspec-support (~> 3.13.0)
|
|
226
|
+
rspec-support (3.13.1)
|
|
227
|
+
rubocop (1.63.5)
|
|
224
228
|
json (~> 2.3)
|
|
229
|
+
language_server-protocol (>= 3.17.0)
|
|
225
230
|
parallel (~> 1.10)
|
|
226
|
-
parser (>= 3.
|
|
231
|
+
parser (>= 3.3.0.2)
|
|
227
232
|
rainbow (>= 2.2.2, < 4.0)
|
|
228
233
|
regexp_parser (>= 1.8, < 3.0)
|
|
229
234
|
rexml (>= 3.2.5, < 4.0)
|
|
230
|
-
rubocop-ast (>= 1.
|
|
235
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
|
231
236
|
ruby-progressbar (~> 1.7)
|
|
232
|
-
unicode-display_width (>=
|
|
233
|
-
rubocop-ast (1.
|
|
234
|
-
parser (>= 3.
|
|
235
|
-
rubocop-
|
|
236
|
-
rubocop (~> 1.
|
|
237
|
-
|
|
238
|
-
rubocop
|
|
237
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
|
238
|
+
rubocop-ast (1.32.0)
|
|
239
|
+
parser (>= 3.3.1.0)
|
|
240
|
+
rubocop-capybara (2.21.0)
|
|
241
|
+
rubocop (~> 1.41)
|
|
242
|
+
rubocop-config-umbrellio (1.63.0.93)
|
|
243
|
+
rubocop (~> 1.63.0)
|
|
244
|
+
rubocop-performance (~> 1.21.0)
|
|
245
|
+
rubocop-rails (~> 2.24.0)
|
|
239
246
|
rubocop-rake (~> 0.6.0)
|
|
240
|
-
rubocop-rspec (~> 2.
|
|
247
|
+
rubocop-rspec (~> 2.29.0)
|
|
241
248
|
rubocop-sequel (~> 0.3.3)
|
|
242
|
-
rubocop-
|
|
243
|
-
rubocop (
|
|
244
|
-
|
|
245
|
-
|
|
249
|
+
rubocop-factory_bot (2.26.1)
|
|
250
|
+
rubocop (~> 1.61)
|
|
251
|
+
rubocop-performance (1.21.1)
|
|
252
|
+
rubocop (>= 1.48.1, < 2.0)
|
|
253
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
|
254
|
+
rubocop-rails (2.24.1)
|
|
246
255
|
activesupport (>= 4.2.0)
|
|
247
256
|
rack (>= 1.1)
|
|
248
|
-
rubocop (>= 1.
|
|
257
|
+
rubocop (>= 1.33.0, < 2.0)
|
|
258
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
|
249
259
|
rubocop-rake (0.6.0)
|
|
250
260
|
rubocop (~> 1.0)
|
|
251
|
-
rubocop-rspec (2.
|
|
252
|
-
rubocop (~> 1.
|
|
261
|
+
rubocop-rspec (2.29.2)
|
|
262
|
+
rubocop (~> 1.40)
|
|
263
|
+
rubocop-capybara (~> 2.17)
|
|
264
|
+
rubocop-factory_bot (~> 2.22)
|
|
265
|
+
rubocop-rspec_rails (~> 2.28)
|
|
266
|
+
rubocop-rspec_rails (2.29.1)
|
|
267
|
+
rubocop (~> 1.61)
|
|
253
268
|
rubocop-sequel (0.3.4)
|
|
254
269
|
rubocop (~> 1.0)
|
|
255
|
-
ruby-progressbar (1.
|
|
256
|
-
|
|
257
|
-
semantic_logger (4.
|
|
270
|
+
ruby-progressbar (1.13.0)
|
|
271
|
+
securerandom (0.3.1)
|
|
272
|
+
semantic_logger (4.16.0)
|
|
258
273
|
concurrent-ruby (~> 1.0)
|
|
259
274
|
sentry-raven (3.1.2)
|
|
260
275
|
faraday (>= 1.0)
|
|
261
|
-
sentry-ruby (5.
|
|
276
|
+
sentry-ruby (5.19.0)
|
|
277
|
+
bigdecimal
|
|
262
278
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
263
|
-
sequel (5.
|
|
264
|
-
|
|
279
|
+
sequel (5.83.1)
|
|
280
|
+
bigdecimal
|
|
281
|
+
simplecov (0.22.0)
|
|
265
282
|
docile (~> 1.1)
|
|
266
283
|
simplecov-html (~> 0.11)
|
|
267
284
|
simplecov_json_formatter (~> 0.1)
|
|
268
285
|
simplecov-html (0.12.3)
|
|
269
286
|
simplecov-lcov (0.8.0)
|
|
270
287
|
simplecov_json_formatter (0.1.4)
|
|
271
|
-
stringio (3.1.
|
|
288
|
+
stringio (3.1.1)
|
|
289
|
+
strscan (3.1.0)
|
|
272
290
|
symbiont-ruby (0.7.0)
|
|
273
|
-
thor (1.3.
|
|
291
|
+
thor (1.3.1)
|
|
274
292
|
timeout (0.4.1)
|
|
275
293
|
tzinfo (2.0.6)
|
|
276
294
|
concurrent-ruby (~> 1.0)
|
|
277
|
-
umbrellio-sequel-plugins (0.
|
|
295
|
+
umbrellio-sequel-plugins (0.15.0.198)
|
|
278
296
|
sequel
|
|
279
297
|
symbiont-ruby
|
|
280
|
-
unicode-display_width (2.
|
|
281
|
-
|
|
298
|
+
unicode-display_width (2.5.0)
|
|
299
|
+
uri (0.13.0)
|
|
300
|
+
useragent (0.16.10)
|
|
301
|
+
webrick (1.8.1)
|
|
282
302
|
websocket-driver (0.7.6)
|
|
283
303
|
websocket-extensions (>= 0.1.0)
|
|
284
304
|
websocket-extensions (0.1.5)
|
|
285
|
-
yard (0.9.
|
|
286
|
-
|
|
287
|
-
zeitwerk (2.6.12)
|
|
305
|
+
yard (0.9.36)
|
|
306
|
+
zeitwerk (2.6.17)
|
|
288
307
|
|
|
289
308
|
PLATFORMS
|
|
290
309
|
ruby
|
|
@@ -309,4 +328,4 @@ DEPENDENCIES
|
|
|
309
328
|
yard
|
|
310
329
|
|
|
311
330
|
BUNDLED WITH
|
|
312
|
-
2.
|
|
331
|
+
2.5.9
|
data/README.md
CHANGED
|
@@ -29,6 +29,19 @@ It automatically redefines `Sentry.configuration.before_send` callback
|
|
|
29
29
|
if Sentry initialization is completed. If `before_send` is already defined
|
|
30
30
|
it wraps custom callback.
|
|
31
31
|
|
|
32
|
+
If you work with rails the `Lamian::Engine` will be automatically initialized, that additionally
|
|
33
|
+
adds `Lamian::Middleware` in the first position in your Rails Application middleware stack.
|
|
34
|
+
|
|
35
|
+
If you need to manually configure the middleware stack use `Lamian.config.middleware_autoset=false.
|
|
36
|
+
|
|
37
|
+
```ruby
|
|
38
|
+
Lamian.configure do |config|
|
|
39
|
+
config.middleware_autoset = false
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
Rails.configuration.middleware.use_after(YourSignificantMiddlewareInStack, Lamian::Middleware)
|
|
43
|
+
```
|
|
44
|
+
|
|
32
45
|
### Usage with Sidekiq
|
|
33
46
|
|
|
34
47
|
You should add Lamian middleware to the Sidekiq initializer like this:
|
data/lib/lamian/config.rb
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "logger"
|
|
4
|
-
|
|
5
3
|
module Lamian
|
|
6
4
|
# General lamian configuration class
|
|
7
5
|
# @attr formatter [Logger::Foramtter]
|
|
8
6
|
# formatter to use in lamian, global
|
|
7
|
+
# @attr max_log_lines [Integer]
|
|
8
|
+
# max number of most recent log lines to store, defaults to 5000
|
|
9
9
|
# @attr raven_log_size_limit [Integer]
|
|
10
10
|
# size limit when sending lamian log to sentry, defaults to +500_000+
|
|
11
|
-
|
|
11
|
+
# @attr middleware_autoset [BOolean]
|
|
12
|
+
# automatically setup a middleware module during rails initialization process
|
|
13
|
+
Config = Struct.new(
|
|
14
|
+
:formatter,
|
|
15
|
+
:max_log_lines,
|
|
16
|
+
:raven_log_size_limit,
|
|
17
|
+
:middleware_autoset,
|
|
18
|
+
) do
|
|
12
19
|
def initialize
|
|
13
20
|
self.formatter = ::Logger::Formatter.new
|
|
21
|
+
self.max_log_lines = 5000
|
|
14
22
|
self.raven_log_size_limit = 500_000
|
|
23
|
+
self.middleware_autoset = true
|
|
15
24
|
end
|
|
16
25
|
end
|
|
17
26
|
end
|
data/lib/lamian/engine.rb
CHANGED
|
@@ -11,7 +11,9 @@ module Lamian
|
|
|
11
11
|
|
|
12
12
|
initializer "lamian.use_rack_middleware" do |app|
|
|
13
13
|
# :nocov:
|
|
14
|
-
|
|
14
|
+
if Lamian.config.middleware_autoset
|
|
15
|
+
app.config.middleware.unshift(Lamian::Middleware)
|
|
16
|
+
end
|
|
15
17
|
# :nocov:
|
|
16
18
|
end
|
|
17
19
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Lamian
|
|
4
|
+
class LogDevice # :nodoc:
|
|
5
|
+
def initialize(size = Lamian.config.max_log_lines)
|
|
6
|
+
self.size = size
|
|
7
|
+
self.lines = []
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def write(string) # :nodoc:
|
|
11
|
+
lines << string
|
|
12
|
+
lines.shift if lines.size > size
|
|
13
|
+
true
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def string # :nodoc:
|
|
17
|
+
lines.join
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
attr_accessor :size, :lines
|
|
23
|
+
end
|
|
24
|
+
end
|
data/lib/lamian/logger.rb
CHANGED
|
@@ -23,8 +23,7 @@ module Lamian
|
|
|
23
23
|
# @see Lamian.run
|
|
24
24
|
# Collects logs sent inside block
|
|
25
25
|
def run
|
|
26
|
-
logdevs.push(
|
|
27
|
-
|
|
26
|
+
logdevs.push(Lamian::LogDevice.new)
|
|
28
27
|
yield
|
|
29
28
|
ensure
|
|
30
29
|
logdevs.pop
|
|
@@ -32,7 +31,7 @@ module Lamian
|
|
|
32
31
|
|
|
33
32
|
# Part of Logger api, entry point for all logs
|
|
34
33
|
# extened to run on each log device in stack
|
|
35
|
-
def add(*args, &
|
|
34
|
+
def add(*args, &)
|
|
36
35
|
@formatter = Lamian.config.formatter
|
|
37
36
|
|
|
38
37
|
logdevs.each do |logdev|
|
data/lib/lamian/version.rb
CHANGED
data/lib/lamian.rb
CHANGED
|
@@ -9,6 +9,7 @@ module Lamian
|
|
|
9
9
|
autoload :Config, "lamian/config"
|
|
10
10
|
autoload :Logger, "lamian/logger"
|
|
11
11
|
autoload :LoggerExtension, "lamian/logger_extension"
|
|
12
|
+
autoload :LogDevice, "lamian/log_device"
|
|
12
13
|
autoload :Middleware, "lamian/middleware"
|
|
13
14
|
autoload :RavenContextExtension, "lamian/raven_context_extension"
|
|
14
15
|
autoload :SidekiqRavenMiddleware, "lamian/sidekiq_raven_middleware"
|
|
@@ -51,8 +52,8 @@ module Lamian
|
|
|
51
52
|
end
|
|
52
53
|
|
|
53
54
|
# Collects logs sent inside block
|
|
54
|
-
def run(&
|
|
55
|
-
logger.run(&
|
|
55
|
+
def run(&)
|
|
56
|
+
logger.run(&)
|
|
56
57
|
end
|
|
57
58
|
|
|
58
59
|
# Dumps log collected in this run
|
|
@@ -62,7 +63,7 @@ module Lamian
|
|
|
62
63
|
# value given (for now)
|
|
63
64
|
# @return formatted log (String by default)
|
|
64
65
|
def dump(format: nil)
|
|
65
|
-
logger.dump(format:
|
|
66
|
+
logger.dump(format:)
|
|
66
67
|
end
|
|
67
68
|
|
|
68
69
|
# Truncates the collected log to the specified limit and dumps it.
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lamian
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- JelF
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-08-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -24,188 +24,6 @@ dependencies:
|
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '4.2'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: bundler-audit
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: ci-helper
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: launchy
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: pry
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: rake
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ">="
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: rspec
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: rubocop-config-umbrellio
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: semantic_logger
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - ">="
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - ">="
|
|
137
|
-
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0'
|
|
139
|
-
- !ruby/object:Gem::Dependency
|
|
140
|
-
name: sentry-raven
|
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
|
142
|
-
requirements:
|
|
143
|
-
- - ">="
|
|
144
|
-
- !ruby/object:Gem::Version
|
|
145
|
-
version: '0'
|
|
146
|
-
type: :development
|
|
147
|
-
prerelease: false
|
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
-
requirements:
|
|
150
|
-
- - ">="
|
|
151
|
-
- !ruby/object:Gem::Version
|
|
152
|
-
version: '0'
|
|
153
|
-
- !ruby/object:Gem::Dependency
|
|
154
|
-
name: sentry-ruby
|
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
|
156
|
-
requirements:
|
|
157
|
-
- - ">="
|
|
158
|
-
- !ruby/object:Gem::Version
|
|
159
|
-
version: '0'
|
|
160
|
-
type: :development
|
|
161
|
-
prerelease: false
|
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
-
requirements:
|
|
164
|
-
- - ">="
|
|
165
|
-
- !ruby/object:Gem::Version
|
|
166
|
-
version: '0'
|
|
167
|
-
- !ruby/object:Gem::Dependency
|
|
168
|
-
name: simplecov
|
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
|
170
|
-
requirements:
|
|
171
|
-
- - ">="
|
|
172
|
-
- !ruby/object:Gem::Version
|
|
173
|
-
version: '0'
|
|
174
|
-
type: :development
|
|
175
|
-
prerelease: false
|
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
-
requirements:
|
|
178
|
-
- - ">="
|
|
179
|
-
- !ruby/object:Gem::Version
|
|
180
|
-
version: '0'
|
|
181
|
-
- !ruby/object:Gem::Dependency
|
|
182
|
-
name: simplecov-lcov
|
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
|
184
|
-
requirements:
|
|
185
|
-
- - ">="
|
|
186
|
-
- !ruby/object:Gem::Version
|
|
187
|
-
version: '0'
|
|
188
|
-
type: :development
|
|
189
|
-
prerelease: false
|
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
-
requirements:
|
|
192
|
-
- - ">="
|
|
193
|
-
- !ruby/object:Gem::Version
|
|
194
|
-
version: '0'
|
|
195
|
-
- !ruby/object:Gem::Dependency
|
|
196
|
-
name: yard
|
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
|
198
|
-
requirements:
|
|
199
|
-
- - ">="
|
|
200
|
-
- !ruby/object:Gem::Version
|
|
201
|
-
version: '0'
|
|
202
|
-
type: :development
|
|
203
|
-
prerelease: false
|
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
-
requirements:
|
|
206
|
-
- - ">="
|
|
207
|
-
- !ruby/object:Gem::Version
|
|
208
|
-
version: '0'
|
|
209
27
|
description: Add logs to your error messages, using exception_notifier or smth like
|
|
210
28
|
it
|
|
211
29
|
email:
|
|
@@ -230,6 +48,7 @@ files:
|
|
|
230
48
|
- lib/lamian.rb
|
|
231
49
|
- lib/lamian/config.rb
|
|
232
50
|
- lib/lamian/engine.rb
|
|
51
|
+
- lib/lamian/log_device.rb
|
|
233
52
|
- lib/lamian/logger.rb
|
|
234
53
|
- lib/lamian/logger_extension.rb
|
|
235
54
|
- lib/lamian/middleware.rb
|
|
@@ -253,7 +72,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
253
72
|
requirements:
|
|
254
73
|
- - ">="
|
|
255
74
|
- !ruby/object:Gem::Version
|
|
256
|
-
version:
|
|
75
|
+
version: 3.1.0
|
|
257
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
77
|
requirements:
|
|
259
78
|
- - ">="
|