gpt4 book ai didi

ruby - 如何更改 Sinatra 中的日志级别

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

我正在使用此代码在我的 Sinatra 应用程序中启用日志记录:

log_file = File.new('my_log_file.log', "a") 
$stdout.reopen(log_file)
$stderr.reopen(log_file)
$stdout.sync=true
$stderr.sync=true

实际的日志记录是使用:

logger.debug("Starting call. Params = #{params.inspect}")

事实证明,只有INFO或更高级别的日志消息被记录,而DEBUG消息没有被记录。我正在寻找一种将日志级别设置为 DEBUG 的方法。

最佳答案

您可以使用

设置日志级别
configure :development do
set :logging, Logger::DEBUG
end

Sinatra 在其默认中间件中为您设置 Rack::Logger,它可以使用日志级别进行初始化(参见 http://rack.rubyforge.org/doc/Rack/Logger.html)。 Sinatra 使用您的 logging 设置对其进行初始化,因此您可以在其中放置一个数字(或 Logger 常量)而不仅仅是 true

仅供引用,这里是 Sinatra::Base 源代码中初始化 Rack::Logger 中间件 ( found here ) 的相关方法

def setup_custom_logger(builder)
if logging.respond_to? :to_int
builder.use Rack::Logger, logging
else
builder.use Rack::Logger
end
end

这是在Sinatra 1.3.2上的,不知道之前的版本有没有不同

关于ruby - 如何更改 Sinatra 中的日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429326/

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