newrelic: log country of each request in newrelic.
Log the country of each HTTP request in NewRelic. Uses the CF-IPCountry header set by Cloudflare.
This commit is contained in:
@@ -24,7 +24,14 @@ class DanbooruLogger
|
|||||||
def self.add_session_attributes(request, session, user)
|
def self.add_session_attributes(request, session, user)
|
||||||
request_params = request.parameters.with_indifferent_access.except(:controller, :action)
|
request_params = request.parameters.with_indifferent_access.except(:controller, :action)
|
||||||
session_params = session.to_h.with_indifferent_access.slice(:session_id, :started_at)
|
session_params = session.to_h.with_indifferent_access.slice(:session_id, :started_at)
|
||||||
user_params = { id: user&.id, name: user&.name, level: user&.level_string, ip: request.remote_ip, safe_mode: CurrentUser.safe_mode? }
|
user_params = {
|
||||||
|
id: user&.id,
|
||||||
|
name: user&.name,
|
||||||
|
level: user&.level_string,
|
||||||
|
ip: request.remote_ip,
|
||||||
|
country: request.headers["CF-IPCountry"],
|
||||||
|
safe_mode: CurrentUser.safe_mode?
|
||||||
|
}
|
||||||
|
|
||||||
add_attributes("request.params", request_params)
|
add_attributes("request.params", request_params)
|
||||||
add_attributes("session.params", session_params)
|
add_attributes("session.params", session_params)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ class SessionLoaderTest < ActiveSupport::TestCase
|
|||||||
@request.stubs(:cookie_jar).returns({})
|
@request.stubs(:cookie_jar).returns({})
|
||||||
@request.stubs(:parameters).returns({})
|
@request.stubs(:parameters).returns({})
|
||||||
@request.stubs(:session).returns({})
|
@request.stubs(:session).returns({})
|
||||||
|
@request.stubs(:headers).returns({})
|
||||||
SessionLoader.any_instance.stubs(:initialize_session_cookies)
|
SessionLoader.any_instance.stubs(:initialize_session_cookies)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user