testa_logger 0.1.11 → 0.1.14
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/Gemfile.lock +1 -1
- data/lib/testa_logger/logger/dispatcher.rb +22 -9
- data/lib/testa_logger/logger.rb +8 -10
- data/lib/testa_logger/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a925b10a67aa850c7b52f01d423b3c4f227ddd638f0c0180735752639a60649
|
4
|
+
data.tar.gz: 27924bc4702af164ab79646219d2f2545137789eddcd5bb66abb6a3104457f50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60452c35d41dc37ef106d5dc89d8926882877b94c3a5cc2f3b49656772476aae07417ebb39c67e6baa81c2bd82a21f95725eac2544721601c9273965d975a629
|
7
|
+
data.tar.gz: 813a62359cee488550bbc4e042a93cc6c1a34c1b8b19b50ce76ce91c8d486d537b9aca841c7229e3dc5e5335f986eb9a58938530c430b12c0cac6e4527d3d1a0
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,26 @@
|
|
1
1
|
module TestaLogger
|
2
2
|
class Logger
|
3
3
|
class Dispatcher
|
4
|
-
|
4
|
+
TAG = "Logger::Dispatcher"
|
5
|
+
|
6
|
+
# @return [Logger]
|
7
|
+
attr_accessor :logger
|
8
|
+
|
9
|
+
def initialize(logger, faye_url, faye_token)
|
10
|
+
@logger = logger
|
5
11
|
@uri = URI.parse(faye_url)
|
6
12
|
@faye_token = faye_token
|
7
|
-
@channel = "/logs/live/#{app}/#{group}"
|
8
|
-
@channel += "/#{subgroup}" unless subgroup.nil?
|
13
|
+
@channel = "/logs/live/#{logger.app}/#{logger.group}"
|
14
|
+
@channel += "/#{logger.subgroup}" unless logger.subgroup.nil?
|
9
15
|
@outbox = Concurrent::Array.new
|
10
16
|
run_dispatch_thread
|
11
17
|
at_exit { dispatch }
|
12
18
|
end
|
13
19
|
|
14
20
|
def push(level, time, tag, formatted_text)
|
21
|
+
# after forking process, dispatch thread will stop working in the forked process
|
22
|
+
run_dispatch_thread if @dispatch_thread.nil? || @dispatch_thread.status == false
|
23
|
+
|
15
24
|
data = {
|
16
25
|
level: level,
|
17
26
|
time: time,
|
@@ -22,18 +31,22 @@ module TestaLogger
|
|
22
31
|
end
|
23
32
|
|
24
33
|
def run_dispatch_thread
|
25
|
-
Thread.new do
|
34
|
+
@dispatch_thread = Thread.new do
|
26
35
|
max_delay = 0.5
|
27
36
|
max_buffer = 20
|
28
37
|
last_sent = Time.now.to_f
|
29
38
|
loop do
|
30
|
-
|
31
|
-
|
39
|
+
begin # rubocop:disable Style/RedundantBegin
|
40
|
+
sleep 0.1
|
41
|
+
next unless (last_sent + max_delay < Time.now.to_f) || @outbox.count > max_buffer
|
32
42
|
|
33
|
-
|
34
|
-
|
43
|
+
last_sent = Time.now.to_f
|
44
|
+
next if @outbox.count.zero?
|
35
45
|
|
36
|
-
|
46
|
+
dispatch
|
47
|
+
rescue StandardError => e
|
48
|
+
logger.error(TAG, e)
|
49
|
+
end
|
37
50
|
end
|
38
51
|
end
|
39
52
|
end
|
data/lib/testa_logger/logger.rb
CHANGED
@@ -58,11 +58,9 @@ module TestaLogger
|
|
58
58
|
|
59
59
|
def setup_dispatcher
|
60
60
|
@dispatcher = Dispatcher.new(
|
61
|
+
self,
|
61
62
|
options.faye_url,
|
62
|
-
options.faye_token
|
63
|
-
app,
|
64
|
-
group,
|
65
|
-
subgroup
|
63
|
+
options.faye_token
|
66
64
|
)
|
67
65
|
end
|
68
66
|
|
@@ -82,27 +80,27 @@ module TestaLogger
|
|
82
80
|
options.formatter
|
83
81
|
end
|
84
82
|
|
85
|
-
def debug(tag =
|
83
|
+
def debug(tag = "", *args, &block)
|
86
84
|
add_log_to_queue(DEBUG, tag, args, &block)
|
87
85
|
end
|
88
86
|
|
89
|
-
def info(tag =
|
87
|
+
def info(tag = "", *args, &block)
|
90
88
|
add_log_to_queue(INFO, tag, args, &block)
|
91
89
|
end
|
92
90
|
|
93
|
-
def warn(tag =
|
91
|
+
def warn(tag = "", *args, &block)
|
94
92
|
add_log_to_queue(WARN, tag, args, &block)
|
95
93
|
end
|
96
94
|
|
97
|
-
def error(tag =
|
95
|
+
def error(tag = "", *args, &block)
|
98
96
|
add_log_to_queue(ERROR, tag, args, &block)
|
99
97
|
end
|
100
98
|
|
101
|
-
def fatal(tag =
|
99
|
+
def fatal(tag = "", *args, &block)
|
102
100
|
add_log_to_queue(FATAL, tag, args, &block)
|
103
101
|
end
|
104
102
|
|
105
|
-
def unknown(tag =
|
103
|
+
def unknown(tag = "", *args, &block)
|
106
104
|
add_log_to_queue(UNKNOWN, tag, args, &block)
|
107
105
|
end
|
108
106
|
|
data/lib/testa_logger/version.rb
CHANGED