我想要记录任何外部API调用headers
、body
、params
以自动记录,我正在使用rails_semantic_logger
,是否有任何配置和定制可以帮助我记录这些详细信息?
我想要记录任何外部API调用headers
、body
、params
以自动记录,我正在使用rails_semantic_logger
,是否有任何配置和定制可以帮助我记录这些详细信息?
在您的config/initializers/semantic_logger.rb
中添加以下配置
SemanticLogger.configure do |config|
# existing configuration
config.add_appender(
io: STDOUT,
level: :debug,
formatter: proc { |_, _, _, payload|
"#{payload[:method]} #{payload[:url]}\n" \
"Headers: #{payload[:headers].inspect}\n" \
"Body: #{payload[:body]}\n" \
"Params: #{payload[:params].inspect}\n"
}
)
end
现在您可以按照下面提到的方式登录
# Make an API call
response = HTTParty.get('https://api.example.com/users', headers: { 'Authorization' => 'Bearer token' })
# Log the API call
logger.debug('External API call', method: response.request.http_method, url: response.request.last_uri.to_s, headers: response.request.headers, body: response.request.body, params: response.request.params)
我希望这会对你有所帮助.