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
42
43
44
45
46
|
# File 'lib/koderift/rails/lograge_config.rb', line 15
def self.apply(app)
return unless defined?(Lograge)
app.config.lograge.enabled = true
app.config.lograge.keep_original_rails_log = true
app.config.lograge.formatter = Lograge::Formatters::Json.new
app.config.lograge.custom_options = lambda do |event|
exceptions = event.payload[:exception_object]
{
user_id: event.payload[:koderift_user_id],
host: event.payload[:koderift_host],
db: event.payload[:db_runtime]&.round(2),
exception: event.payload[:exception]&.join(': '),
request_id: event.payload[:koderift_request_id],
trace_id: event.payload[:koderift_trace_id],
ip: event.payload[:koderift_ip],
user_agent: event.payload[:koderift_user_agent],
allocations: event.payload[:allocations],
error_cause: exceptions&.cause&.message,
stack_trace: format_backtrace(exceptions),
referer: event.payload[:koderift_referer],
breadcrumbs: event.payload[:koderift_breadcrumbs],
params: event.payload[:koderift_params],
spans: event.payload[:koderift_spans],
query_count: event.payload[:koderift_query_count],
partial_count: event.payload[:koderift_partial_count],
search_count: event.payload[:koderift_search_count]
}.compact
end
end
|