gpt4 book ai didi

ruby - 在 Sinatra 的应用程序范围内运行时, "right"的记录方式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:47 26 4
gpt4 key购买 nike

我正在尝试编写一个 Sinatra 应用程序。我想从配置 block 中记录一些东西。但是,它在应用程序范围内运行,如果我在我的配置 block 中执行 enable :logging 则它不包括记录器方法。是否有一些正常的方法来记录来自配置 block 的消息,同时尊重我有效的任何日志配置?

目前,我做了类似下面的事情:

class Blah < Sinatra::Base
configure do
enable :logging
@@log = Logger.new("/dev/stderr")
@@log.info "blah"
end
end

我宁愿使用配置的任何记录器,并通过 enable :logger 行默认为一个设置。类似于以下内容是理想的:

class Blah < Sinatra::Base
configure do
enable :logging
logger.info "blah"
end
end

最佳答案

从 1.3 开始(我认为)Sinatra 附带了您描述的记录器,但它默认写入 STDOUT 和 STDERR,如果您想将其写入文件,请将其添加到您的 config.ru:

logger = Logger.new('log/awesome_app.log')

use Rack::CommonLogger, logger
run AwesomeApp

关于ruby - 在 Sinatra 的应用程序范围内运行时, "right"的记录方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007668/

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