Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
30
research/chatwoot/config/initializers/lograge.rb
Normal file
30
research/chatwoot/config/initializers/lograge.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
if ActiveModel::Type::Boolean.new.cast(ENV.fetch('LOGRAGE_ENABLED', false)).present?
|
||||
require 'lograge'
|
||||
|
||||
Rails.application.configure do
|
||||
config.lograge.enabled = true
|
||||
config.lograge.formatter = Lograge::Formatters::Json.new
|
||||
config.lograge.custom_payload do |controller|
|
||||
# We only need user_id for API requests
|
||||
# might error out for other controller - ref: https://github.com/chatwoot/chatwoot/issues/6922
|
||||
user_id = controller&.try(:current_user)&.id if controller.is_a?(Api::BaseController) && controller&.try(:current_user).is_a?(User)
|
||||
{
|
||||
host: controller.request.host,
|
||||
remote_ip: controller.request.remote_ip,
|
||||
user_id: user_id
|
||||
}
|
||||
end
|
||||
|
||||
config.lograge.custom_options = lambda do |event|
|
||||
param_exceptions = %w[controller action format id]
|
||||
{
|
||||
params: event.payload[:params]&.except(*param_exceptions)
|
||||
}
|
||||
end
|
||||
|
||||
config.lograge.ignore_custom = lambda do |event|
|
||||
# ignore update_presence events in log
|
||||
return true if event.payload[:channel_class] == 'RoomChannel'
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user