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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c5d0a570367d7f09db6373731c63d4bd72c371b
4
- data.tar.gz: 57d1575a153a76b373dcca9bc40b20dc008f2b63
3
+ metadata.gz: 8b98eed406daf139ae01da99ada18bca27894806
4
+ data.tar.gz: 582c53c819ef189baf3e868f81f28c040e430aba
5
5
  SHA512:
6
- metadata.gz: 776b1f52f20a9efb16ea4b8330b61022d2bf3d343e712d9fa8bf652639c7fe585dc6b91409d780f24da27fcb3f36c241ab78b80e84816c4bd8859dae026be441
7
- data.tar.gz: 6ddd07d66911f78fafc5f648ba4081c84599ced58026c713a729199788d246d7584bf8bd88dc82e8591d79de3bd84bea526886d63926c2ab03a298fcada96a15
6
+ metadata.gz: d181105e0d9df98cb669ed92dbd9a26dcbbeceb1504b698cdb3cabee2b80e15b25d1b64febc77277a15eb3a07981474f0c46208aa7ad67c9facdfd45e845b7ff
7
+ data.tar.gz: f1ba2926d95161c93194597234842d54eb10b1b37ece597c086163a92720e15c2623b321fd756fc0fe14dfd2093121b5e15207605994a75367945e6aaa2ec0d6
@@ -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.to_s
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coralogix_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Royee Goldberg