Class: Oohlalog::Logger
Defined Under Namespace
Modules: Severity
Constant Summary
Constants included
from Severity
Severity::DEBUG, Severity::ERROR, Severity::FATAL, Severity::INFO, Severity::UNKNOWN, Severity::WARN
Instance Method Summary
collapse
Constructor Details
#initialize(buffer_size = 100, level = DEBUG, options = {}) ⇒ Logger
Returns a new instance of Logger.
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/oohlalog/logger.rb', line 16
def initialize(buffer_size=100, level = DEBUG, options={})
@api_key = Oohlalog.api_key
if options.has_key? :api_key
@api_key = options[:api_key]
elsif options.has_key? "api_key"
@api_key = options["api_key"]
end
@agent = Oohlalog.agent
if options.has_key? :agent
@agent = options[:agent]
elsif options.has_key? "agent"
@agent = options["agent"]
end
@tags =Oohlalog.tags
@session_tag = Oohlalog.session_tag
@secure = Oohlalog.secure
@buffer_size = buffer_size
@buffer = []
self.level = level
end
|
Instance Method Details
#add(severity, message, category = nil, details = nil) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/oohlalog/logger.rb', line 40
def add(severity, message, category=nil, details=nil)
log_message = message
if message.nil? || message.to_s.empty?
log_message = category
category = nil
end
if category == message
category = nil
end
session = Thread.current[:session_id]
return if log_message.nil? || log_message.to_s.empty?
if severity >= self.level
if details.nil? && defined?(log_message.backtrace)
details = log_message.backtrace.join("\n")
end
@buffer << {level: severity_string(severity), message: log_message.to_s.gsub(/\e\[(\d+)m/, ''), agent: @agent , category: category, details: details, timestamp:(Time.now.to_f * 1000).to_i, hostName: Socket.gethostname, token: session}
check_buffer_size
return
end
end
|
#flush_buffer ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
|
# File 'lib/oohlalog/logger.rb', line 88
def flush_buffer
return if @buffer.size == 0
payload = { logs: [] }
Thread.new do
while @buffer.size > 0
entry = @buffer.shift
payload[:logs] << entry
end
send_payload(payload)
end
end
|
#level ⇒ Object
75
76
77
|
# File 'lib/oohlalog/logger.rb', line 75
def level
@level
end
|
#level=(l) ⇒ Object
71
72
73
|
# File 'lib/oohlalog/logger.rb', line 71
def level=(l)
@level = l
end
|
#severity_string(severity_level) ⇒ Object
79
80
81
82
83
84
85
86
|
# File 'lib/oohlalog/logger.rb', line 79
def severity_string(severity_level)
Severity.constants.each do |severity|
if Severity.const_get(severity) == severity_level
return severity.downcase
end
end
return "unknown"
end
|