demarches-normaliennes/config/initializers/lograge.rb

50 lines
1.8 KiB
Ruby
Raw Normal View History

2018-08-12 10:31:28 +02:00
Rails.application.configure do
config.lograge.formatter = Lograge::Formatters::Logstash.new
config.lograge.base_controller_class = ['ActionController::Base', 'Manager::ApplicationController']
# This will allow to override custom options from environement file
# injected by ansible.
if !config.lograge.custom_options
config.lograge.custom_options = lambda do |event|
{
type: 'tps',
2018-08-22 18:10:26 +02:00
source: ENV['SOURCE'],
tags: ['request', event.payload[:exception] ? 'exception' : nil].compact,
2018-08-12 10:31:28 +02:00
user_id: event.payload[:user_id],
user_email: event.payload[:user_email],
user_roles: event.payload[:user_roles],
user_agent: event.payload[:user_agent],
graphql_query: event.payload[:graphql_query],
graphql_variables: event.payload[:graphql_variables],
2023-04-04 14:45:22 +02:00
graphql_null_error: event.payload[:graphql_null_error],
graphql_timeout_error: event.payload[:graphql_timeout_error],
ds_procedure_id: event.payload[:ds_procedure_id],
ds_dossier_id: event.payload[:ds_dossier_id],
2018-08-12 10:31:28 +02:00
browser: event.payload[:browser],
browser_version: event.payload[:browser_version],
platform: event.payload[:platform],
client_ip: event.payload[:client_ip],
2023-03-15 14:44:31 +01:00
request_id: event.payload[:request_id],
process: {
pid: Process.pid
}
2018-08-12 10:31:28 +02:00
}.compact
end
config.lograge.custom_payload do |controller|
{
2018-08-13 16:40:16 +02:00
xhr: !!controller&.request&.xhr?
2018-08-12 10:31:28 +02:00
}
end
end
config.lograge.keep_original_rails_log = true
2018-12-24 16:32:23 +01:00
config.lograge.logger = ActiveSupport::Logger.new(Rails.root.join('log', "logstash_#{Rails.env}.log"))
end
Rails.application.config.after_initialize do |app|
if app.config.lograge.enabled
ActiveJob::ApplicationLogSubscriber.attach_to(:active_job)
end
2018-08-12 10:31:28 +02:00
end