gpt4 book ai didi

logging - Sinatra 中简单而理想的日志记录

转载 作者:行者123 更新时间:2023-12-03 18:16:38 25 4
gpt4 key购买 nike

我浏览了一些博客和网站,它们为我提供了一些有关如何登录 sinatra 的信息,但不适用于我的应用程序,而且我浏览了一个名为 sinatra-logger 的 gem 。没有尝试过,想知道在 sinatra 中“登录”的理想而简单的方法。就像我们为 rails 做 logger.info 一样。

我尝试过但没有用的代码来自以下站点 link还有一些 SO 链接也指向了上面链接中使用的相同方法。

configure do
LOGGER = Logger.new("sinatra.log")
end

helpers do
def logger
LOGGER
end
end

我在我的应用程序的 app.rb 中写了这个,它没有说 App:Module 的未定义方法`configure'

任何指示或指南都会有所帮助。谢谢。

编辑
现在我正在使用文件写入来记录我的错误和消息:
File.open('log.txt', 'a') do |f|
f.write "#{status}-#{CONFIG.api_url}-#{data.inspect}-tweet}"
end

最佳答案

如果您使用的是 Sinatra 1.3,您应该可以像在 Rails 中一样使用 logger.info 登录。
以下复制自Sinatra Readme :

日志记录
在请求范围内,logger helper 暴露了一个 Logger 实例:

get '/' do
logger.info "loading data"
# ...
end
此记录器将自动考虑您的 Rack 处理程序的日志记录设置。如果禁用日志记录,此方法将返回一个虚拟对象,因此您不必担心路由和过滤器。
请注意,默认情况下仅对 Sinatra::Application 启用日志记录,因此如果您从 Sinatra::Base 继承,您可能希望自己启用它:
 class MyApp < Sinatra::Base
configure :production, :development do
enable :logging
end
end
为避免设置任何日志中间件,请将日志设置设置为 nil。但是,请记住,在这种情况下 logger 将返回 nil。一个常见的用例是当您想要设置自己的记录器时。 Sinatra 将使用它在 env['rack.logger'] 中找到的任何内容。

Rack::CommonLogger在内部生成日志消息(我认为)。

关于logging - Sinatra 中简单而理想的日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644753/

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