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, ProcFormatter, StringFormatter
Class Method Summary
collapse
Class Method Details
.base_log_hash(severity, datetime, progname) ⇒ Object
20
21
22
23
24
25
26
27
28
|
# 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,
**custom_context
}
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
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/datadog/loggers/json_formatter.rb', line 47
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
|
.custom_context ⇒ Object
30
31
32
33
34
35
|
# File 'lib/datadog/loggers/json_formatter.rb', line 30
def self.custom_context
context = Datadog::JSONLogger.config.custom_context
return {} unless context.respond_to?(:call)
context.call
end
|