RTALogger 2.1.2 → 2.2.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/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
|