Better usage of Rails logger
Logging usefull data is a hard task, but there's one specific method that helps to improve the experience of logging actual useful information: tagged
. It adds extra tags to the log message making it easy to debug:
Rails.logger.tagged('Super App') do
Rails.logger.info('Log Message')
end
This will result in somethin like this:
[Super App] Log Message
If you can see, it prepends usefull information, you could add personalized data to trace logs, for example:
class ApplicationController << ActionController::Base
around_action :add_logger_tags
def add_logger_tags
Rails.logger.tagged(logging_tags) do
yield
end
end
def logging_tags
[
"Request Id: #{request.id}",
"Session Id: #{session.id}",
current_user && "User id: #{current_user.id}"
]
end
And you will have super nice logs to read