12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/termite/hastur_logger.rb', line 12
def send_message(severity, raw_message, app_data, time=Time.now, data='{}')
severity = Logger::LOGGER_LEVEL_MAP.invert[severity].to_s
tid = Ecology.thread_id(::Thread.current)
hostname = Socket.gethostname
pid = Process.pid
application, component = app_data[:app], app_data[:component]
message = {
:_route => :log,
:timestamp => to_usec(time),
:message => raw_message
}
labels = {
:severity => severity,
:pid => pid,
:tid => tid,
:app => application,
:component => component,
:hostname => hostname
}
labels.merge!(MultiJson.decode(data)) if data && data != '{}'
labels.merge!(@labels) if @labels && !@labels.empty?
message[:labels] = labels
@socket.send MultiJson.encode(message), 0, @addr, @port
end
|