RTALogger 0.1.4 → 2.0.1
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 +246 -109
- data/lib/RTALogger/version.rb +1 -1
- data/lib/log_factory_log_formatter.rb +24 -8
- data/lib/log_factory_repository.rb +23 -42
- data/lib/log_factory_topic.rb +2 -2
- data/lib/log_formatter_base.rb +33 -0
- data/lib/log_formatter_json.rb +6 -3
- data/lib/log_formatter_text.rb +11 -8
- data/lib/log_manager.rb +155 -50
- data/lib/log_propagator.rb +41 -15
- data/lib/log_record.rb +1 -1
- data/lib/log_repository.rb +50 -1
- data/lib/log_repository_console.rb +5 -1
- data/lib/log_repository_file.rb +33 -3
- data/lib/log_repository_fluentd.rb +58 -0
- data/lib/log_repository_udp.rb +14 -6
- data/lib/log_topic.rb +35 -14
- data/lib/rta_logger_config.json +46 -22
- data/lib/sample.rb +13 -2
- data/lib/severity_level.rb +68 -0
- data/lib/string.rb +9 -0
- metadata +6 -6
- data/lib/log_factory_file_logger.rb +0 -17
- data/lib/log_formatter.rb +0 -8
- data/lib/log_repository_fluent.rb +0 -32
- data/lib/log_severity.rb +0 -17
data/lib/sample.rb
CHANGED
@@ -4,6 +4,8 @@ require_relative 'log_factory_repository'
|
|
4
4
|
controller_name = 'test_controller'
|
5
5
|
userID = 5
|
6
6
|
|
7
|
+
# RTALogger::LogFactory.register_log_repository :console, 'log_repository_console.rb'
|
8
|
+
|
7
9
|
# create log manager instance
|
8
10
|
# this could be a global variable declared in application level
|
9
11
|
log_manager = RTALogger::LogFactory.log_manager_instance
|
@@ -21,8 +23,12 @@ log_manager.config_use_json_file('rta_logger_config.json')
|
|
21
23
|
# use this api to get a new log topic instance
|
22
24
|
# this api could be called in entry point of each service or class initialize method
|
23
25
|
topic = log_manager.add_topic(controller_name)
|
26
|
+
test_topic = log_manager.add_topic('test')
|
27
|
+
# test_topic.severity_level = ::RTALogger::SeverityLevel::FATAL
|
28
|
+
# test_topic.enable = false
|
24
29
|
|
25
30
|
# add log information to log topic
|
31
|
+
topic.trace(userID, 'Controller Name=', controller_name, 'trace')
|
26
32
|
topic.debug(userID, 'Controller Name=', controller_name, 'debug')
|
27
33
|
topic.info(userID, 'Controller Name=', controller_name, 'information')
|
28
34
|
topic.warning(userID, 'Controller Name=', controller_name, 'warning')
|
@@ -30,8 +36,13 @@ topic.error(userID, 'Controller Name=', controller_name, 'error')
|
|
30
36
|
topic.fatal(userID, 'Controller Name=', controller_name, 'fatal')
|
31
37
|
topic.unknown(userID, 'Controller Name=', controller_name, 'unknown')
|
32
38
|
|
39
|
+
test_topic.error(userID, 'test_topic', 'error')
|
40
|
+
test_topic.fatal(userID, 'test_topic', 'fatal')
|
41
|
+
|
42
|
+
puts log_manager.reveal_config
|
43
|
+
|
33
44
|
# update specific topic log level if necessary
|
34
|
-
# log_manager.update_topic_level(controller_name, RTALogger::
|
45
|
+
# log_manager.update_topic_level(controller_name, RTALogger::SeverityLevel::INFO)
|
35
46
|
|
36
47
|
# update all topics log level if necessary
|
37
|
-
# log_manager.
|
48
|
+
# log_manager.update_all_topics_severity_level(RTALogger::SeverityLevel::INFO)
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module RTALogger
|
2
|
+
# Logging severity.
|
3
|
+
module SeverityLevel
|
4
|
+
# all information that helps us to trace the processing of an incoming request through our application
|
5
|
+
TRACE = 0
|
6
|
+
# Low-level information, mostly for developers.
|
7
|
+
DEBUG = 1
|
8
|
+
# Generic (useful) information about system operation.
|
9
|
+
INFO = 2
|
10
|
+
# A warning.
|
11
|
+
WARN = 3
|
12
|
+
# A handleable error condition.
|
13
|
+
ERROR = 4
|
14
|
+
# An un-handleable error that results in a program crash.
|
15
|
+
FATAL = 5
|
16
|
+
# An unknown message that should always be logged.
|
17
|
+
UNKNOWN = 6
|
18
|
+
|
19
|
+
|
20
|
+
def parse_severity_level_to_i(severity_level)
|
21
|
+
return severity_level if severity_level.is_a? ::Integer
|
22
|
+
|
23
|
+
case severity_level.upcase
|
24
|
+
when 'TRACE'
|
25
|
+
0
|
26
|
+
when 'DEBUG'
|
27
|
+
1
|
28
|
+
when 'INFO'
|
29
|
+
2
|
30
|
+
when 'INFORMATIONّٔ'
|
31
|
+
2
|
32
|
+
when 'WARN'
|
33
|
+
3
|
34
|
+
when 'WARNING'
|
35
|
+
5
|
36
|
+
when 'ERROR'
|
37
|
+
4
|
38
|
+
when 'FATAL'
|
39
|
+
5
|
40
|
+
when 'UNKNOWN'
|
41
|
+
6
|
42
|
+
else
|
43
|
+
2
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def parse_severity_level_to_s(severity_level)
|
48
|
+
return severity_level if severity_level.is_a? ::String
|
49
|
+
|
50
|
+
case severity_level.to_i
|
51
|
+
when 0
|
52
|
+
'TRACE'
|
53
|
+
when 1
|
54
|
+
'DEBUG'
|
55
|
+
when 2
|
56
|
+
'INFO'
|
57
|
+
when 3
|
58
|
+
'WARN'
|
59
|
+
when 4
|
60
|
+
'ERROR'
|
61
|
+
when 5
|
62
|
+
'FATAL'
|
63
|
+
when 6
|
64
|
+
'UNKNOWN'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/lib/string.rb
ADDED
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: 0.1
|
4
|
+
version: 2.0.1
|
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-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluent-logger
|
@@ -68,14 +68,13 @@ files:
|
|
68
68
|
- bin/setup
|
69
69
|
- lib/RTALogger.rb
|
70
70
|
- lib/RTALogger/version.rb
|
71
|
-
- lib/log_factory_file_logger.rb
|
72
71
|
- lib/log_factory_log_formatter.rb
|
73
72
|
- lib/log_factory_manager.rb
|
74
73
|
- lib/log_factory_propagator.rb
|
75
74
|
- lib/log_factory_record.rb
|
76
75
|
- lib/log_factory_repository.rb
|
77
76
|
- lib/log_factory_topic.rb
|
78
|
-
- lib/
|
77
|
+
- lib/log_formatter_base.rb
|
79
78
|
- lib/log_formatter_json.rb
|
80
79
|
- lib/log_formatter_text.rb
|
81
80
|
- lib/log_manager.rb
|
@@ -84,12 +83,13 @@ files:
|
|
84
83
|
- lib/log_repository.rb
|
85
84
|
- lib/log_repository_console.rb
|
86
85
|
- lib/log_repository_file.rb
|
87
|
-
- lib/
|
86
|
+
- lib/log_repository_fluentd.rb
|
88
87
|
- lib/log_repository_udp.rb
|
89
|
-
- lib/log_severity.rb
|
90
88
|
- lib/log_topic.rb
|
91
89
|
- lib/rta_logger_config.json
|
92
90
|
- lib/sample.rb
|
91
|
+
- lib/severity_level.rb
|
92
|
+
- lib/string.rb
|
93
93
|
homepage: https://github.com/BBahrainy/RTALogger.git
|
94
94
|
licenses:
|
95
95
|
- MIT
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'logger'
|
4
|
-
|
5
|
-
module RTALogger
|
6
|
-
# this module generates object instance
|
7
|
-
module LogFactory
|
8
|
-
def self.new_file_logger(file_path = 'log.txt', period = 'daily', shift_size = 1_048_576)
|
9
|
-
@ruby_logger = Logger.new(file_path, period, shift_size)
|
10
|
-
@ruby_logger.level = Logger::Severity::DEBUG
|
11
|
-
@ruby_logger.formatter = proc do |_severity, _datetime, _progname, msg|
|
12
|
-
"#{msg}\n"
|
13
|
-
end
|
14
|
-
@ruby_logger
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/lib/log_formatter.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'fluent-logger'
|
2
|
-
require_relative 'log_repository'
|
3
|
-
|
4
|
-
module RTALogger
|
5
|
-
class LogRepositoryFluent < LogRepository
|
6
|
-
def initialize(host = 'localhost', port = 24224, tls_options = nil)
|
7
|
-
super()
|
8
|
-
@host = host
|
9
|
-
@port = port
|
10
|
-
@tls_options = tls_options
|
11
|
-
@formatter = RTALogger::LogFactory.log_formatter_json
|
12
|
-
if @tls_options
|
13
|
-
@fluent_logger = ::Fluent::Logger::FluentLogger.new(nil, :host => @host, :port => @port, :use_nonblock => true, :wait_writeable => false)
|
14
|
-
else
|
15
|
-
@fluent_logger = ::Fluent::Logger::FluentLogger.new(nil, :host => @host, :port => @port, :tls_options => @tls_options, :use_nonblock => true, :wait_writeable => false)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def flush_and_clear
|
20
|
-
semaphore.synchronize do
|
21
|
-
@log_records.each do |log_record|
|
22
|
-
fluent_tag = log_record.app_name + '.' + log_record.topic_title
|
23
|
-
log_json_string = @formatter.format(log_record)
|
24
|
-
log_json = JSON.parse(log_json_string)
|
25
|
-
|
26
|
-
@fluent_logger.post(fluent_tag, log_json)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
super
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
data/lib/log_severity.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
module RTALogger
|
2
|
-
# Logging severity.
|
3
|
-
module LogSeverity
|
4
|
-
# Low-level information, mostly for developers.
|
5
|
-
DEBUG = 0
|
6
|
-
# Generic (useful) information about system operation.
|
7
|
-
INFO = 1
|
8
|
-
# A warning.
|
9
|
-
WARN = 2
|
10
|
-
# A handleable error condition.
|
11
|
-
ERROR = 3
|
12
|
-
# An un-handleable error that results in a program crash.
|
13
|
-
FATAL = 4
|
14
|
-
# An unknown message that should always be logged.
|
15
|
-
UNKNOWN = 5
|
16
|
-
end
|
17
|
-
end
|