Add remote IP, user ID and username to JSON lograge output
This makes the logs a bit more useful to search requests by users.
This commit is contained in:
parent
02b25598cb
commit
9bc176b2c3
|
@ -70,6 +70,16 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
|
def append_info_to_payload(payload)
|
||||||
|
super
|
||||||
|
payload[:remote_ip] = request.remote_ip
|
||||||
|
|
||||||
|
if current_user.present?
|
||||||
|
payload[:user_id] = current_user.id
|
||||||
|
payload[:username] = current_user.username
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# This filter handles both private tokens and personal access tokens
|
# This filter handles both private tokens and personal access tokens
|
||||||
def authenticate_user_from_private_token!
|
def authenticate_user_from_private_token!
|
||||||
token = params[:private_token].presence || request.headers['PRIVATE-TOKEN'].presence
|
token = params[:private_token].presence || request.headers['PRIVATE-TOKEN'].presence
|
||||||
|
|
|
@ -14,7 +14,10 @@ unless Sidekiq.server?
|
||||||
config.lograge.custom_options = lambda do |event|
|
config.lograge.custom_options = lambda do |event|
|
||||||
{
|
{
|
||||||
time: event.time.utc.iso8601(3),
|
time: event.time.utc.iso8601(3),
|
||||||
params: event.payload[:params].except(%w(controller action format))
|
params: event.payload[:params].except(*%w(controller action format)),
|
||||||
|
remote_ip: event.payload[:remote_ip],
|
||||||
|
user_id: event.payload[:user_id],
|
||||||
|
username: event.payload[:username]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue