coralogix_logger 0.0.12 → 0.0.13
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/lib/coralogix_logger.rb +90 -0
- data/lib/manager.rb +24 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b98eed406daf139ae01da99ada18bca27894806
|
4
|
+
data.tar.gz: 582c53c819ef189baf3e868f81f28c040e430aba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d181105e0d9df98cb669ed92dbd9a26dcbbeceb1504b698cdb3cabee2b80e15b25d1b64febc77277a15eb3a07981474f0c46208aa7ad67c9facdfd45e845b7ff
|
7
|
+
data.tar.gz: f1ba2926d95161c93194597234842d54eb10b1b37ece597c086163a92720e15c2623b321fd756fc0fe14dfd2093121b5e15207605994a75367945e6aaa2ec0d6
|
data/lib/coralogix_logger.rb
CHANGED
@@ -6,15 +6,29 @@ require_relative 'constants'
|
|
6
6
|
module Coralogix
|
7
7
|
|
8
8
|
class CoralogixLogger
|
9
|
+
|
10
|
+
attr_accessor :use_source_file
|
11
|
+
|
9
12
|
# Set 'new' method to be a private method.
|
10
13
|
# This way it won't be possible to create a new intance of this class from outside.
|
11
14
|
private_class_method :new
|
12
15
|
|
16
|
+
|
13
17
|
# Constructor.
|
14
18
|
#
|
15
19
|
# @param name - logger name.
|
16
20
|
def initialize name
|
17
21
|
@category = name
|
22
|
+
@level=0
|
23
|
+
@use_source_file = true
|
24
|
+
end
|
25
|
+
|
26
|
+
# Logger interface:
|
27
|
+
# Set Logger level
|
28
|
+
#
|
29
|
+
# @param name - level
|
30
|
+
def level= level
|
31
|
+
@level=level
|
18
32
|
end
|
19
33
|
|
20
34
|
# A getter for debug_mode.
|
@@ -88,6 +102,82 @@ module Coralogix
|
|
88
102
|
LoggerManager.add_logline message, SEVERITIES["#{__method__}".to_sym], category, :className => className, :methodName => methodName, :threadId => threadId
|
89
103
|
end
|
90
104
|
end
|
105
|
+
|
106
|
+
# Logger interface:
|
107
|
+
# Send log message if the given severity is high enough.
|
108
|
+
# @param severity - Severity. Constants are defined in Logger namespace: +DEBUG+, +INFO+, +WARN+, +ERROR+, +FATAL+, or +UNKNOWN
|
109
|
+
# @param message - The log message. A String or Exception.
|
110
|
+
# @param progname - Program name string. Can be omitted. Treated as a message if no +message+ and +block+ are given.
|
111
|
+
# @param block - Can be omitted. Called to get a message string if +message+ is nil.
|
112
|
+
# @return [boolean] When the given severity is not high enough (for this particular logger), log no message, and return true.
|
113
|
+
def add(severity, message = nil, progname = nil, &block)
|
114
|
+
begin
|
115
|
+
severity ||= DEBUG
|
116
|
+
if severity < @level
|
117
|
+
return true
|
118
|
+
end
|
119
|
+
progname ||= @category
|
120
|
+
if message.nil?
|
121
|
+
if block_given?
|
122
|
+
message = yield
|
123
|
+
else
|
124
|
+
message = progname
|
125
|
+
progname = @category
|
126
|
+
end
|
127
|
+
end
|
128
|
+
className = get_source_file if @use_source_file
|
129
|
+
rescue Exception => e
|
130
|
+
DebugLogger.error e.message
|
131
|
+
DebugLogger.error e.backtrace.inspect
|
132
|
+
end
|
133
|
+
|
134
|
+
# Map Ruby Severity to Coralogix severity:
|
135
|
+
# Ruby Coralogix
|
136
|
+
# DEBUG 0 1
|
137
|
+
# INFO 1 3
|
138
|
+
# WARN 2 4
|
139
|
+
# ERROR 3 5
|
140
|
+
# FATAL 4 6
|
141
|
+
LoggerManager.add_logline message, severity == 0 ? Severity::DEBUG : severity + 2, progname, :className => className
|
142
|
+
end
|
143
|
+
|
144
|
+
# Logger interface:
|
145
|
+
# Dump given message to the log device without any formatting.
|
146
|
+
def << x
|
147
|
+
self.add 0, nil, x
|
148
|
+
end
|
149
|
+
|
150
|
+
# Logger interface:
|
151
|
+
# Set logger program name. This will be used as the category.
|
152
|
+
def progname= name
|
153
|
+
@category = name
|
154
|
+
end
|
155
|
+
|
156
|
+
# Logger interface:
|
157
|
+
# Set logger formatter
|
158
|
+
def formatter= formatter
|
159
|
+
# Nothing to do here as we always use Coralogix format
|
160
|
+
end
|
161
|
+
|
162
|
+
# Logger interface:
|
163
|
+
# Close coralogix logger. Not implemented
|
164
|
+
def close
|
165
|
+
# Not implemented
|
166
|
+
end
|
167
|
+
|
168
|
+
# Return the file name where the call to the logger was made. This will be used as the class name
|
169
|
+
def get_source_file
|
170
|
+
begin
|
171
|
+
# 0 1 2 3
|
172
|
+
#logger.info(Rails logger) -> Logger.broadcast(Rails Logger)-> add(This class) -> get_source_file(This method)
|
173
|
+
file_location_path = caller_locations(4..4)[0].path
|
174
|
+
File.basename(file_location_path, File.extname(file_location_path))
|
175
|
+
rescue Exception => e
|
176
|
+
DebugLogger.error e.message
|
177
|
+
DebugLogger.error e.backtrace.inspect
|
178
|
+
return nil
|
179
|
+
end
|
180
|
+
end
|
91
181
|
end
|
92
182
|
|
93
183
|
end
|
data/lib/manager.rb
CHANGED
@@ -34,7 +34,7 @@ module Coralogix
|
|
34
34
|
@bulk_template = args.merge({:computerName => `hostname`.strip})
|
35
35
|
DebugLogger.info "Successfully configured Coralogix logger."
|
36
36
|
@configured = true
|
37
|
-
self.update_time_delta_interval
|
37
|
+
#self.update_time_delta_interval
|
38
38
|
self.add_logline "The Application Name #{@bulk_template[:applicationName]} and Subsystem Name #{@bulk_template[:subsystemName]} from the Ruby SDK, version #{self.version?} has started to send data.", Severity::INFO, CORALOGIX_CATEGORY
|
39
39
|
rescue Exception => e
|
40
40
|
DebugLogger.error e.message
|
@@ -69,10 +69,8 @@ module Coralogix
|
|
69
69
|
begin
|
70
70
|
@mutex.synchronize do
|
71
71
|
if @buffer_size < MAX_LOG_BUFFER_SIZE
|
72
|
-
|
73
72
|
#Validate message
|
74
|
-
message = (message.nil? || message.to_s.strip.empty?) ? "EMPTY_STRING" : message
|
75
|
-
|
73
|
+
message = (message.nil? || message.to_s.strip.empty?) ? "EMPTY_STRING" : self.msg2str(message)
|
76
74
|
#Validate severity
|
77
75
|
severity = (severity.nil? || severity.to_s < Severity::DEBUG.to_s || severity.to_s > Severity::CRITICAL.to_s) ? Severity::DEBUG : severity
|
78
76
|
|
@@ -94,6 +92,28 @@ module Coralogix
|
|
94
92
|
return true
|
95
93
|
end
|
96
94
|
|
95
|
+
# Convert log message to string
|
96
|
+
# @param msg - log message to convert
|
97
|
+
#
|
98
|
+
# @return [String] return log message as string
|
99
|
+
def self.msg2str(msg)
|
100
|
+
begin
|
101
|
+
case msg
|
102
|
+
when ::String
|
103
|
+
msg
|
104
|
+
when ::Exception
|
105
|
+
"#{ msg.message } (#{ msg.class })\n" <<
|
106
|
+
(msg.backtrace || []).join("\n")
|
107
|
+
else
|
108
|
+
msg.inspect
|
109
|
+
end
|
110
|
+
rescue Exception => e
|
111
|
+
DebugLogger.error e.message
|
112
|
+
DebugLogger.error e.backtrace.inspect
|
113
|
+
return msg
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
97
117
|
# Send bulk from the buffer
|
98
118
|
def self.send_bulk
|
99
119
|
begin
|