coralogix_logger 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
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