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
40
41
|
# File 'lib/steno/codec/json.rb', line 15
def encode_record(record)
msg =
if record.message.valid_encoding?
record.message
else
escape_nonprintable_ascii(record.message.dup.force_encoding('BINARY'))
end
h = {
'timestamp' => record.timestamp.to_f,
'message' => msg,
'log_level' => record.log_level.to_s,
'source' => record.source,
'data' => record.data,
'thread_id' => record.thread_id,
'fiber_id' => record.fiber_id,
'process_id' => record.process_id,
'file' => record.file,
'lineno' => record.lineno,
'method' => record.method
}
h['timestamp'] = Time.at(record.timestamp).utc.iso8601(6) if iso8601_timestamps?
Yajl::Encoder.encode(h) + "\n"
end
|