gpt4 book ai didi

ruby-on-rails - faraday如何设置日志级别

转载 作者:数据小太阳 更新时间:2023-10-29 07:11:30 26 4
gpt4 key购买 nike

我最近将我的 http 客户端切换到 faraday,一切都按预期工作。我有以下代码来创建连接:

@connection = Faraday.new(:url => base_url) do |faraday|
faraday.use Custim::Middleware
faraday.request :url_encoded # form-encode POST params
faraday.request :json
faraday.response :json, :content_type => /\bjson$/
faraday.response :logger
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP

法拉第记录器帮助在控制台输出上打印所有日志。但是我不想在控制台输出上打印所有日志级别。如何将日志级别设置为只打印错误日志? .

我使用的是法拉第0.8.9版本

最佳答案

有一种方法,但似乎根本没有记录。我在 0.9.1 上试过这个,但它也应该在 0.8.9 上工作。

# provide your own logger
logger = Logger.new $stderr
logger.level = Logger::ERROR
Faraday.new(:url => base_url) do |faraday|
# ...
faraday.response :logger, logger
# ...
end

这是可行的,因为 faraday.response :logger 可能使用 Faraday::Response::Logger 创建了一个中间件,它具有以下构造函数:

def initialize(app, logger = nil)

奖金

在0.9.1中,构造函数签名为

def initialize(app, logger = nil, options = {})

该类还包含:DEFAULT_OPTIONS = { :bodies => false } 这可能意味着您可以在记录器之后传递一个 :bodies 选项来控制记录 body 。显然,您甚至可以使用 {bodies: {response: true}} 来记录响应主体而不是请求主体。

关于ruby-on-rails - faraday如何设置日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com