centralized_ruby_logger 0.0.11 → 0.0.16
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 +5 -5
- data/lib/centralized_ruby_logger.rb +7 -2
- data/lib/constants.rb +2 -2
- data/lib/debug_logger.rb +28 -9
- data/lib/httpsender.rb +15 -4
- data/lib/manager.rb +5 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3bb22fe0d8a38a7ea50b49d947081024babce01aa34f90ff8bfb7ce441dd9574
|
4
|
+
data.tar.gz: 367f73a60b64c522257eadc8202a447a8f0189956ef88808aec56dcaddf2afec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 506e90154cc95961cf3937d82ff16ce9ce0d58a80322e2c3436307f1f2614f9cf57b8ed4e0365ab5ec1b9a4d6dea7ca44d562adb8349d3167852b442a071d8b4
|
7
|
+
data.tar.gz: c6355047fa329e7be8d38e4a88e43497f302233d8fba782a56acb59ba9fb26cec12de117f71735b1c771820bd3b47ab4a562570f4ddd2354139d371ab08f2b19
|
@@ -8,10 +8,15 @@ module Coralogix
|
|
8
8
|
# Constructor.
|
9
9
|
#
|
10
10
|
# @param name - logger name.
|
11
|
-
def initialize private_key, app_name, sub_system_name, debug=false, type_name="Centralized Ruby", force_compression =
|
11
|
+
def initialize private_key, app_name, sub_system_name, debug=false, type_name="Centralized Ruby", force_compression=false, proxy={}, external_logger=nil
|
12
12
|
self.debug_mode=debug
|
13
13
|
@category = CORALOGIX_CATEGORY
|
14
|
-
@manager = LoggerManager.new
|
14
|
+
@manager = LoggerManager.new proxy
|
15
|
+
unless external_logger.nil?
|
16
|
+
DebugLogger.enabled = true
|
17
|
+
DebugLogger.external = true
|
18
|
+
DebugLogger.logger = external_logger
|
19
|
+
end
|
15
20
|
configure(private_key, app_name, sub_system_name, type_name, force_compression)
|
16
21
|
end
|
17
22
|
|
data/lib/constants.rb
CHANGED
@@ -26,10 +26,10 @@ module Coralogix
|
|
26
26
|
|
27
27
|
|
28
28
|
#Coralogix logs url
|
29
|
-
CORALOGIX_LOG_URL = "https://api.coralogix.com:443/api/v1/logs"
|
29
|
+
CORALOGIX_LOG_URL = ENV['CORALOGIX_LOG_URL'] ? ENV['CORALOGIX_LOG_URL'] : "https://api.coralogix.com:443/api/v1/logs"
|
30
30
|
|
31
31
|
#Coralogix time delat url
|
32
|
-
CORALOGIX_TIME_DELTA_URL = "https://api.coralogix.com:443/sdk/v1/time"
|
32
|
+
CORALOGIX_TIME_DELTA_URL = ENV['CORALOGIX_TIME_DELTA_URL'] ? ENV['CORALOGIX_TIME_DELTA_URL'] : "https://api.coralogix.com:443/sdk/v1/time"
|
33
33
|
|
34
34
|
#Default private key
|
35
35
|
FAILED_PRIVATE_KEY = "9626c7dd-8174-5015-a3fe-5572e042b6d9"
|
data/lib/debug_logger.rb
CHANGED
@@ -4,33 +4,50 @@ module Coralogix
|
|
4
4
|
# @private
|
5
5
|
class DebugLogger
|
6
6
|
|
7
|
+
# attr_accessor :external, :enabled, :logger
|
8
|
+
|
7
9
|
def self.initialize
|
8
10
|
begin
|
9
11
|
@mutex = Mutex.new
|
10
|
-
@
|
12
|
+
@enabled = false
|
13
|
+
@external = false
|
11
14
|
rescue Exception => e
|
12
|
-
if @
|
15
|
+
if @enabled
|
13
16
|
puts e.message
|
14
17
|
puts e.backtrace.inspect
|
15
18
|
end
|
16
19
|
end
|
17
20
|
end
|
18
21
|
|
22
|
+
def self.enabled=(value)
|
23
|
+
@enabled = value
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.external=(value)
|
27
|
+
@external = value
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.logger=(value)
|
31
|
+
@logger = value
|
32
|
+
end
|
33
|
+
|
19
34
|
def self.debug_mode?
|
20
|
-
@
|
35
|
+
@enabled
|
21
36
|
end
|
22
37
|
|
23
38
|
def self.debug_mode=(value)
|
24
39
|
begin
|
25
|
-
@
|
40
|
+
@enabled = value
|
26
41
|
if value
|
27
42
|
@logger = Logger.new("/tmp/#{LOG_FILE_NAME}", 1, 10485760)
|
28
43
|
else
|
29
|
-
|
30
|
-
|
44
|
+
if @external == false
|
45
|
+
@logger.close unless @logger == nil
|
46
|
+
@logger = nil
|
47
|
+
end
|
31
48
|
end
|
32
49
|
rescue Exception => e
|
33
|
-
if @
|
50
|
+
if @enabled
|
34
51
|
puts e.message
|
35
52
|
puts e.backtrace.inspect
|
36
53
|
end
|
@@ -39,10 +56,12 @@ module Coralogix
|
|
39
56
|
|
40
57
|
Logger::Severity.constants.each do |level|
|
41
58
|
define_singleton_method("#{level.downcase}") do |*args|
|
42
|
-
if @
|
59
|
+
if @enabled
|
43
60
|
@mutex.synchronize do
|
44
61
|
begin
|
45
|
-
|
62
|
+
if @external == false
|
63
|
+
puts "#{__method__.upcase}: #{Time.now.strftime('%H:%M:%S.%L')} - #{args}"
|
64
|
+
end
|
46
65
|
@logger.send("#{__method__}", args)
|
47
66
|
rescue Exception => e
|
48
67
|
puts e.message
|
data/lib/httpsender.rb
CHANGED
@@ -25,7 +25,7 @@ module Coralogix
|
|
25
25
|
@force_compression = value
|
26
26
|
end
|
27
27
|
|
28
|
-
def initialize
|
28
|
+
def initialize proxy={}
|
29
29
|
begin
|
30
30
|
@initialized = false
|
31
31
|
@mutex = Mutex.new
|
@@ -33,7 +33,18 @@ module Coralogix
|
|
33
33
|
if(@disable_proxy)
|
34
34
|
@http = Net::HTTP.new(@uri.host, @uri.port, p_addr=nil, p_port=nil)
|
35
35
|
else
|
36
|
-
|
36
|
+
if proxy.empty? or proxy.fetch("host", nil).nil? or proxy.fetch("port", nil).nil?
|
37
|
+
@http = Net::HTTP.new(@uri.host, @uri.port)
|
38
|
+
else
|
39
|
+
@http = Net::HTTP.new(
|
40
|
+
@uri.host,
|
41
|
+
@uri.port,
|
42
|
+
p_addr=proxy["host"],
|
43
|
+
p_port=proxy["port"],
|
44
|
+
p_user=proxy.fetch("user", nil),
|
45
|
+
p_pass=proxy.fetch("password", nil)
|
46
|
+
)
|
47
|
+
end
|
37
48
|
end
|
38
49
|
@http.use_ssl = true
|
39
50
|
#@http.keep_alive_timeout = 10
|
@@ -42,8 +53,8 @@ module Coralogix
|
|
42
53
|
@http.open_timeout = HTTP_TIMEOUT # seconds
|
43
54
|
|
44
55
|
headers = {
|
45
|
-
'Content-Type'
|
46
|
-
'Content-Encoding'
|
56
|
+
'Content-Type' => 'application/json',
|
57
|
+
'Content-Encoding' => 'deflate'
|
47
58
|
}
|
48
59
|
@req = Net::HTTP::Post.new(@uri.path, headers)
|
49
60
|
rescue Exception => e
|
data/lib/manager.rb
CHANGED
@@ -10,12 +10,12 @@ module Coralogix
|
|
10
10
|
|
11
11
|
attr_accessor :configured
|
12
12
|
|
13
|
-
def initialize
|
13
|
+
def initialize proxy={}
|
14
14
|
@logger_type = "Centralized Ruby"
|
15
15
|
@bulk_template = {:privateKey => FAILED_PRIVATE_KEY, :applicationName => NO_APP_NAME, :subsystemName => NO_SUB_SYSTEM}
|
16
16
|
@time_delta_last_update = 0
|
17
17
|
@time_delta = 0
|
18
|
-
@http_sender = CoralogixHTTPSender.new
|
18
|
+
@http_sender = CoralogixHTTPSender.new proxy
|
19
19
|
@buffer = []
|
20
20
|
@buffer_size = 0
|
21
21
|
@mutex = Mutex.new
|
@@ -84,6 +84,8 @@ module Coralogix
|
|
84
84
|
@buffer << new_entry
|
85
85
|
#Update the buffer size to reflect the new size.
|
86
86
|
@buffer_size+=new_entry.to_json.bytesize
|
87
|
+
else
|
88
|
+
DebugLogger.warn "max logs exceeded, dropping log"
|
87
89
|
end
|
88
90
|
end
|
89
91
|
rescue Exception => e
|
@@ -148,7 +150,7 @@ module Coralogix
|
|
148
150
|
@bulk_template[:logEntries] = @buffer.shift(size)
|
149
151
|
|
150
152
|
# Extract from the buffer size the total amount of the logs we removed from the buffer
|
151
|
-
@buffer_size-= (@bulk_template[:logEntries].to_json.bytesize - 2 - size-1)
|
153
|
+
@buffer_size-= (@bulk_template[:logEntries].to_json.bytesize - 2 - (size-1))
|
152
154
|
|
153
155
|
# Make sure we are always positive
|
154
156
|
@buffer_size = @buffer_size >= 0 ? @buffer_size : 0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: centralized_ruby_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Royee Goldberg
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Coralogix Centralized Ruby Logger to send logs to Coralogix server.
|
14
14
|
email: royee@coralogix.com
|
@@ -27,7 +27,7 @@ homepage: http://www.coralogix.com
|
|
27
27
|
licenses:
|
28
28
|
- MIT
|
29
29
|
metadata: {}
|
30
|
-
post_install_message:
|
30
|
+
post_install_message:
|
31
31
|
rdoc_options: []
|
32
32
|
require_paths:
|
33
33
|
- lib
|
@@ -42,9 +42,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '0'
|
44
44
|
requirements: []
|
45
|
-
rubyforge_project:
|
46
|
-
rubygems_version: 2.
|
47
|
-
signing_key:
|
45
|
+
rubyforge_project:
|
46
|
+
rubygems_version: 2.7.3
|
47
|
+
signing_key:
|
48
48
|
specification_version: 4
|
49
49
|
summary: Coralogix Centralized Ruby Logger SDK
|
50
50
|
test_files: []
|