xyeger 0.2.1 → 0.2.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 +4 -4
- data/.gitignore +1 -0
- data/lib/xyeger/formatters/base.rb +7 -1
- data/lib/xyeger/formatters/sidekiq_json.rb +27 -0
- data/lib/xyeger/formatters.rb +1 -0
- data/lib/xyeger/logger.rb +12 -1
- data/lib/xyeger/version.rb +1 -1
- data/xyeger.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de37530451f05be5081c3cd4e4a1c9e90e15c708
|
4
|
+
data.tar.gz: 847aa6cda3576580ee4de086055221f4f8078202
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bffc160214c0fcf04795ace638ea1cd0ea33e2675c1f4388970ad1285db47179e5cdd37c5f31b207fa2818809ace48289ab00e37cf00b057d53de986cc850c84
|
7
|
+
data.tar.gz: b41c880563574eadf1523ba98779dbbbabbb82b864550001b01ec17c7f6bebf6ca0b8337088a3dfa51037154562e666b9738187604310ff8bdb8e4af4de07ccb
|
data/.gitignore
CHANGED
@@ -11,7 +11,7 @@ module Xyeger
|
|
11
11
|
def call(severity, timestamp, context, message)
|
12
12
|
message, context = prepare(message, context)
|
13
13
|
|
14
|
-
context =
|
14
|
+
context = filter_context(context)
|
15
15
|
|
16
16
|
result = {
|
17
17
|
hostname: Xyeger.config.hostname,
|
@@ -57,6 +57,12 @@ module Xyeger
|
|
57
57
|
result[key] = Paint[value, colors[index]]
|
58
58
|
end
|
59
59
|
end
|
60
|
+
|
61
|
+
private def filter_context(context)
|
62
|
+
return context unless Xyeger.config.filter && context.is_a?(Hash)
|
63
|
+
|
64
|
+
Xyeger.config.filter.filter(context)
|
65
|
+
end
|
60
66
|
end
|
61
67
|
end
|
62
68
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Xyeger
|
2
|
+
module Formatters
|
3
|
+
class SidekiqJson < Base
|
4
|
+
def call(severity, timestamp, context, message)
|
5
|
+
context, message = prepare_message(message) unless context
|
6
|
+
|
7
|
+
super(severity, timestamp, context, message).merge(
|
8
|
+
pid: ::Process.pid,
|
9
|
+
tid: "TID-#{Thread.current.object_id.to_s(36)}",
|
10
|
+
sidekiq_context: sidekiq_context
|
11
|
+
).to_json + "\n"
|
12
|
+
end
|
13
|
+
|
14
|
+
def sidekiq_context
|
15
|
+
c = Thread.current[:sidekiq_context]
|
16
|
+
c.join(' ') if c&.any?
|
17
|
+
end
|
18
|
+
|
19
|
+
def prepare_message(message)
|
20
|
+
json = JSON.parse(message)
|
21
|
+
[filter_context(json), 'Sidekiq']
|
22
|
+
rescue JSON::ParserError => e
|
23
|
+
[nil, message]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/xyeger/formatters.rb
CHANGED
data/lib/xyeger/logger.rb
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
module Xyeger
|
2
2
|
class Logger < ActiveSupport::Logger
|
3
3
|
Logger::Severity.constants.each do |severity|
|
4
|
-
define_method
|
4
|
+
define_method severity.downcase do |message=nil, context=nil, &block|
|
5
|
+
context, message = message, context if message.is_a?(Hash)
|
6
|
+
|
7
|
+
if block
|
8
|
+
result = block.call
|
9
|
+
|
10
|
+
if result.is_a?(Hash)
|
11
|
+
context = result
|
12
|
+
else
|
13
|
+
message = result
|
14
|
+
end
|
15
|
+
end
|
5
16
|
add(Logger::Severity.const_get(severity), message, context)
|
6
17
|
end
|
7
18
|
end
|
data/lib/xyeger/version.rb
CHANGED
data/xyeger.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xyeger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Avramov Vsevolod
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lograge
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '3.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop
|
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'
|
125
139
|
description: Uniq logger for project
|
126
140
|
email:
|
127
141
|
- vsevolod@cryptopay.me
|
@@ -144,6 +158,7 @@ files:
|
|
144
158
|
- lib/xyeger/formatters/json.rb
|
145
159
|
- lib/xyeger/formatters/key_value.rb
|
146
160
|
- lib/xyeger/formatters/lograge_raw.rb
|
161
|
+
- lib/xyeger/formatters/sidekiq_json.rb
|
147
162
|
- lib/xyeger/formatters/values.rb
|
148
163
|
- lib/xyeger/logger.rb
|
149
164
|
- lib/xyeger/version.rb
|