abh*_*jit 4 logging rack sinatra
我经历了一些博客和网站,它们给了我一些关于如何登录sinatra的信息,但没有为我的应用程序工作,我还经历了一个名为sinatra-logger的宝石没有尝试过,想知道理想和简单的"登录"方式在sinatra.就像我们为rails做logger.info一样.
我试过并且没有工作的代码来自以下站点链接,并且一些SO链接也指向上面链接中使用的相同方法.
configure do
LOGGER = Logger.new("sinatra.log")
end
helpers do
def logger
LOGGER
end
end
Run Code Online (Sandbox Code Playgroud)
我已经在我的应用程序的app.rb中写了这个,它无法为App:Module说未定义的方法`configure'
任何指针或指南都会有所帮助.谢谢.
编辑 现在正在使用文件写入来记录我的错误和消息:
File.open('log.txt', 'a') do |f|
f.write "#{status}-#{CONFIG.api_url}-#{data.inspect}-tweet}"
end
Run Code Online (Sandbox Code Playgroud)
Sea*_*ner 18
如果您使用的是Sinatra 1.3,您应该能够像使用rails一样进行日志记录 logger.info
以下内容复制自Sinatra自述文件:
在请求范围中,记录器助手公开Logger实例:
get '/' do
logger.info "loading data"
# ...
end
Run Code Online (Sandbox Code Playgroud)
此记录器将自动考虑您的Rack处理程序的日志记录设置.如果禁用日志记录,此方法将返回一个虚拟对象,因此您不必担心路由和过滤器.
请注意,默认情况下只对Sinatra :: Application启用日志记录,因此如果您从Sinatra :: Base继承,您可能希望自己启用它:
class MyApp < Sinatra::Base
configure :production, :development do
enable :logging
end
end
Run Code Online (Sandbox Code Playgroud)
要避免设置任何日志记录中间件,请将日志记录设置设置为nil.但是,请记住,在这种情况下,记录器将返回nil.一个常见的用例是您想要设置自己的记录器.Sinatra将使用它在env ['rack.logger']中找到的任何内容.
Rack :: CommonLogger在内部生成日志消息(我认为).
| 归档时间: |
|
| 查看次数: |
14685 次 |
| 最近记录: |