From 7d8cd84fa6ecc1536d1c06af8da646a0171d1b4b Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Tue, 12 Dec 2017 17:22:38 +0800 Subject: [PATCH] Improve lograge custom payload error handling. --- config/initializers/100-lograge.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/config/initializers/100-lograge.rb b/config/initializers/100-lograge.rb index 8971aa9512d..a1089a7b273 100644 --- a/config/initializers/100-lograge.rb +++ b/config/initializers/100-lograge.rb @@ -10,9 +10,23 @@ if (Rails.env.production? && SiteSetting.logging_provider == 'lograge') || ENV[" config.lograge.custom_payload do |controller| begin + username = + begin + controller.current_user&.username + rescue Discourse::InvalidAccess + nil + end + + ip = + begin + controller.request.remote_ip + rescue ActionDispatch::RemoteIp::IpSpoofAttackError + nil + end + { - ip: controller.request.remote_ip, - username: controller.current_user&.username, + ip: ip, + username: username, } rescue => e Rails.logger.warn("Failed to append custom payload: #{e.message}\n#{e.backtrace.join("\n")}")