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
|
||||
|
||||
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
|
||||
def authenticate_user_from_private_token!
|
||||
token = params[:private_token].presence || request.headers['PRIVATE-TOKEN'].presence
|
||||
|
|
|
@ -14,7 +14,10 @@ unless Sidekiq.server?
|
|||
config.lograge.custom_options = lambda do |event|
|
||||
{
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue