RTALogger 2.1.2 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +7 -2
- data/lib/RTALogger/version.rb +1 -1
- data/lib/log_formatter_base.rb +42 -1
- data/lib/log_formatter_json.rb +16 -3
- data/lib/log_formatter_text.rb +1 -4
- data/lib/log_repository.rb +1 -0
- data/lib/log_repository_file.rb +2 -0
- data/lib/log_repository_fluentd.rb +2 -0
- data/lib/rta_logger_config.json +3 -2
- data/lib/sample.rb +9 -0
- data/lib/string.rb +33 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e3e0080b58239ca52e5c80dceab5dfacd7202d25dbef441695c8f3fef56ad70
|
4
|
+
data.tar.gz: 40f0c55f14e92a4207b932e6090c14db5b6177fbc10e0f5c642ceb65c2c5e2b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50e947dbcfbbda443696f07bc804b982a7310407580d429011f1932cdb304707eb303346445edb98c4cd0f140ca8ba46a4d84f5752f9017db4c64e9871b3886c
|
7
|
+
data.tar.gz: d9414ec73afcede5e67987fe83de43afc3ce5312db5b7089358bd4c1162004fbdaab2dbe48c02e8191d82a9a64bf2c69f5501ced9288aec49fee42bfc7f71b24
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -104,7 +104,8 @@ To use log manager APIs, first step is to have a quick review on Log Data Struct
|
|
104
104
|
"formatter":
|
105
105
|
{
|
106
106
|
"type": "text",
|
107
|
-
"delimiter": "|"
|
107
|
+
"delimiter": "|",
|
108
|
+
"colorize": true
|
108
109
|
},
|
109
110
|
"filters":
|
110
111
|
[
|
@@ -216,7 +217,8 @@ the result will be:
|
|
216
217
|
"formatter":
|
217
218
|
{
|
218
219
|
"type": "text",
|
219
|
-
"delimiter": "|"
|
220
|
+
"delimiter": "|",
|
221
|
+
"colorize": true
|
220
222
|
},
|
221
223
|
"filters":
|
222
224
|
[
|
@@ -305,6 +307,8 @@ the result will be:
|
|
305
307
|
- "foramtter" is the text, json or any custome defined types as LogRecord formatter
|
306
308
|
- "type": ["text"/"json"] type of formatter
|
307
309
|
- "delimiter": [any text delimiter you need.(as an instance pipe line "|")]
|
310
|
+
- "colorize": [true/false] default value of this attribute is false.
|
311
|
+
if you need to colorize your out put format on standard output set this attribute to true.
|
308
312
|
if formatter not defined then the json formatter will be used
|
309
313
|
2- file: Store log data in a file.
|
310
314
|
- "type": "console"
|
@@ -348,6 +352,7 @@ the result will be:
|
|
348
352
|
"enable": [true/false] this will enable or disable filtering opration of current filter.
|
349
353
|
"default_regex": "valid regual expression" to compare with corresponding attribute.
|
350
354
|
* It's possible to implement customize filter classes and integerate with RTALogger filter factory.
|
355
|
+
* In RTALogger version 2.2.0 colorize out put format is availabel.
|
351
356
|
- topics: This is an optional item. When you need to customize a specific topic severity level or
|
352
357
|
enable value, you can define the settings here.
|
353
358
|
- title: The topic title to customize. (mandatoy).
|
data/lib/RTALogger/version.rb
CHANGED
data/lib/log_formatter_base.rb
CHANGED
@@ -1,16 +1,22 @@
|
|
1
1
|
require 'jbuilder'
|
2
2
|
require_relative 'string'
|
3
|
+
require_relative 'severity_level'
|
3
4
|
|
4
5
|
module RTALogger
|
5
6
|
class LogFormatterBase
|
7
|
+
include SeverityLevel
|
8
|
+
|
6
9
|
def initialize
|
7
10
|
@delimiter = '|'
|
11
|
+
@colorize = false
|
8
12
|
end
|
9
13
|
|
10
14
|
attr_accessor :delimiter
|
15
|
+
attr_accessor :colorize
|
11
16
|
|
12
17
|
def load_config(config_json)
|
13
18
|
@delimiter = config_json['delimiter'].nil? ? true : config_json['delimiter']
|
19
|
+
@colorize = config_json['colorize'].nil? ? false : config_json['colorize']
|
14
20
|
end
|
15
21
|
|
16
22
|
def format(log_record)
|
@@ -20,7 +26,8 @@ module RTALogger
|
|
20
26
|
def to_builder
|
21
27
|
jb = Jbuilder.new do |json|
|
22
28
|
json.type self.class.to_s.split('::').last.underscore.sub('log_formatter_', '')
|
23
|
-
json.delimiter delimiter
|
29
|
+
json.delimiter @delimiter
|
30
|
+
json.colorize @colorize
|
24
31
|
end
|
25
32
|
|
26
33
|
jb
|
@@ -29,5 +36,39 @@ module RTALogger
|
|
29
36
|
def reveal_config
|
30
37
|
to_builder.target!
|
31
38
|
end
|
39
|
+
|
40
|
+
def apply_run_time_config(config_json)
|
41
|
+
@delimiter = config_json['delimiter'] unless config_json['delimiter'].nil?
|
42
|
+
@colorize = config_json['colorize'] unless config_json['colorize'].nil?
|
43
|
+
end
|
44
|
+
|
45
|
+
protected
|
46
|
+
|
47
|
+
def severity_text(severity)
|
48
|
+
text = parse_severity_level_to_s(severity)
|
49
|
+
text = severity_colorized_text(severity, text) if @colorize
|
50
|
+
return text
|
51
|
+
end
|
52
|
+
|
53
|
+
def severity_colorized_text(severity, text)
|
54
|
+
case severity
|
55
|
+
when 0
|
56
|
+
text.trace_color
|
57
|
+
when 1
|
58
|
+
text.debug_color
|
59
|
+
when 2
|
60
|
+
text
|
61
|
+
when 3
|
62
|
+
text.warning_color
|
63
|
+
when 4
|
64
|
+
text.error_color
|
65
|
+
when 5
|
66
|
+
text.fatal_color
|
67
|
+
when 6
|
68
|
+
text.unknown_colorj
|
69
|
+
else
|
70
|
+
text
|
71
|
+
end
|
72
|
+
end
|
32
73
|
end
|
33
74
|
end
|
data/lib/log_formatter_json.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'jbuilder'
|
2
2
|
require_relative 'log_formatter_base'
|
3
|
-
require_relative '
|
3
|
+
require_relative 'string'
|
4
4
|
|
5
5
|
module RTALogger
|
6
6
|
# json formatter which receive log_record and
|
7
7
|
# returns it's data as json string
|
8
8
|
class LogFormatterJson < LogFormatterBase
|
9
|
-
include SeverityLevel
|
10
9
|
|
11
10
|
def format(log_record)
|
12
11
|
return '' unless log_record
|
@@ -20,7 +19,21 @@ module RTALogger
|
|
20
19
|
json.message log_record.message.flatten.join(' ')
|
21
20
|
end
|
22
21
|
|
23
|
-
jb.target!
|
22
|
+
result = jb.target!
|
23
|
+
result = colorize_json(result) if @colorize
|
24
|
+
|
25
|
+
return result
|
26
|
+
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
def colorize_json(json_text)
|
31
|
+
json_text.gsub(/"severity":"TRACE"/i, '"severity":"TRACE"'.trace_color)
|
32
|
+
.gsub(/"severity":"DEBUG"/i, '"severity":"DEBUG"'.debug_color)
|
33
|
+
.gsub(/"severity":"WARN"/i, '"severity":"WARN"'.warning_color)
|
34
|
+
.gsub(/"severity":"ERROR"/i, '"severity":"ERROR"'.error_color)
|
35
|
+
.gsub(/"severity":"FATAL"/i, '"severity":"FATAL"'.fatal_color)
|
36
|
+
.gsub(/"severity":"UNKNOWN"/i, '"severity":"UNKNOWN"'.unknown_color)
|
24
37
|
end
|
25
38
|
end
|
26
39
|
end
|
data/lib/log_formatter_text.rb
CHANGED
@@ -1,12 +1,9 @@
|
|
1
1
|
require_relative 'log_formatter_base'
|
2
|
-
require_relative 'severity_level'
|
3
2
|
|
4
3
|
module RTALogger
|
5
4
|
# text formatter which receive log_record and
|
6
5
|
# returns it's data as delimited text string
|
7
6
|
class LogFormatterText < LogFormatterBase
|
8
|
-
include SeverityLevel
|
9
|
-
|
10
7
|
def format(log_record)
|
11
8
|
return '' unless log_record
|
12
9
|
|
@@ -14,7 +11,7 @@ module RTALogger
|
|
14
11
|
result << @delimiter << log_record.app_name
|
15
12
|
result << @delimiter << log_record.topic_title
|
16
13
|
result << @delimiter << log_record.context_id.to_s
|
17
|
-
result << @delimiter <<
|
14
|
+
result << @delimiter << severity_text(log_record.severity)
|
18
15
|
result << @delimiter << log_record.message.join(' ').gsub(delimiter, '$<$')
|
19
16
|
|
20
17
|
result
|
data/lib/log_repository.rb
CHANGED
data/lib/log_repository_file.rb
CHANGED
@@ -62,6 +62,8 @@ module RTALogger
|
|
62
62
|
@port = config_json['port'] unless config_json['port'].nil?
|
63
63
|
@tls_options = config_json['tls_options'] unless config_json['tls_options'].nil?
|
64
64
|
@semaphore.synchronize { @fluent_logger = nil }
|
65
|
+
|
66
|
+
@formatter.colorize = false
|
65
67
|
end
|
66
68
|
|
67
69
|
protected
|
data/lib/rta_logger_config.json
CHANGED
@@ -20,14 +20,15 @@
|
|
20
20
|
"formatter":
|
21
21
|
{
|
22
22
|
"type": "text",
|
23
|
-
"delimiter": "|"
|
23
|
+
"delimiter": "|",
|
24
|
+
"colorize": true
|
24
25
|
},
|
25
26
|
"filters":
|
26
27
|
[
|
27
28
|
{
|
28
29
|
"type": "topic",
|
29
30
|
"title": "topic_filter_1",
|
30
|
-
"enable":
|
31
|
+
"enable": false,
|
31
32
|
"default_regex" : "^test$"
|
32
33
|
},
|
33
34
|
{
|
data/lib/sample.rb
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
require_relative 'log_factory_manager'
|
2
2
|
require_relative 'log_factory_repository'
|
3
|
+
# require_relative 'string'
|
4
|
+
|
5
|
+
# puts 'trace'.gray
|
6
|
+
# puts 'debug'.green
|
7
|
+
# puts 'info'
|
8
|
+
# puts 'warning'.brown
|
9
|
+
# puts 'error'.red
|
10
|
+
# puts 'fatal'.bg_red
|
11
|
+
# puts 'unknown'.bg_cyan
|
3
12
|
|
4
13
|
controller_name = 'test_controller'
|
5
14
|
userID = 5
|
data/lib/string.rb
CHANGED
@@ -1,9 +1,40 @@
|
|
1
1
|
class String
|
2
2
|
def underscore
|
3
3
|
self.gsub(/::/, '/').
|
4
|
-
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
5
|
-
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
4
|
+
gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
|
5
|
+
gsub(/([a-z\d])([A-Z])/, '\1_\2').
|
6
6
|
tr("-", "_").
|
7
7
|
downcase
|
8
8
|
end
|
9
|
+
|
10
|
+
def black; "\e[30m#{self}\e[0m" end
|
11
|
+
def red; "\e[31m#{self}\e[0m" end
|
12
|
+
def green; "\e[32m#{self}\e[0m" end
|
13
|
+
def brown; "\e[33m#{self}\e[0m" end
|
14
|
+
def blue; "\e[34m#{self}\e[0m" end
|
15
|
+
def magenta; "\e[35m#{self}\e[0m" end
|
16
|
+
def cyan; "\e[36m#{self}\e[0m" end
|
17
|
+
def gray; "\e[37m#{self}\e[0m" end
|
18
|
+
|
19
|
+
def bg_black; "\e[40m#{self}\e[0m" end
|
20
|
+
def bg_red; "\e[41m#{self}\e[0m" end
|
21
|
+
def bg_green; "\e[42m#{self}\e[0m" end
|
22
|
+
def bg_brown; "\e[43m#{self}\e[0m" end
|
23
|
+
def bg_blue; "\e[44m#{self}\e[0m" end
|
24
|
+
def bg_magenta; "\e[45m#{self}\e[0m" end
|
25
|
+
def bg_cyan; "\e[46m#{self}\e[0m" end
|
26
|
+
def bg_gray; "\e[47m#{self}\e[0m" end
|
27
|
+
|
28
|
+
def bold; "\e[1m#{self}\e[22m" end
|
29
|
+
def italic; "\e[3m#{self}\e[23m" end
|
30
|
+
def underline; "\e[4m#{self}\e[24m" end
|
31
|
+
def blink; "\e[5m#{self}\e[25m" end
|
32
|
+
def reverse_color; "\e[7m#{self}\e[27m" end
|
33
|
+
|
34
|
+
def trace_color; self.gray end
|
35
|
+
def debug_color; self.green end
|
36
|
+
def warning_color; self.brown end
|
37
|
+
def error_color; self.red end
|
38
|
+
def fatal_color; self.bg_red end
|
39
|
+
def unknown_color; self.bg_cyan end
|
9
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RTALogger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Babak Bahreini, RTA Backend Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluent-logger
|