Class: Datadog::Loggers::JSONFormatter
- Inherits:
-
Logger::Formatter
- Object
- Logger::Formatter
- Datadog::Loggers::JSONFormatter
show all
- Defined in:
- lib/datadog/loggers/json_formatter.rb
Defined Under Namespace
Modules: DefaultFormatter, ExceptionFormatter, HashFormatter, StringFormatter
Class Method Summary
collapse
Class Method Details
.base_log_hash(severity, datetime, progname) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/datadog/loggers/json_formatter.rb', line 20
def self.base_log_hash(severity, datetime, progname)
{
dd: correlation_hash,
timestamp: datetime.to_s,
severity: severity.ljust(5).to_s,
progname: progname.to_s
}
end
|
.call(severity, datetime, progname, msg) {|log_hash| ... } ⇒ Object
10
11
12
13
14
15
16
17
18
|
# File 'lib/datadog/loggers/json_formatter.rb', line 10
def self.call(severity, datetime, progname, msg)
log_hash = base_log_hash(severity, datetime, progname)
formatter = formatter_for(msg)
formatter.format(log_hash, msg)
yield(log_hash) if block_given?
"#{::JSON.dump(log_hash)}\n"
end
|
.correlation_hash ⇒ Object
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/datadog/loggers/json_formatter.rb', line 38
def self.correlation_hash
correlation = Datadog::Tracing.correlation
{
trace_id: correlation.trace_id&.to_s,
span_id: correlation.span_id&.to_s,
env: correlation.env&.to_s,
service: correlation.service&.to_s,
version: correlation.version&.to_s
}
end
|