非常基本的ruby / sinatra / heroku /调试问题:如何看看puts和p的输出?

我正在尝试构建一个部署在heroku上的非常简单的sinatra应用程序.

我们的应用程序不会将内容输出到Web浏览器,而是通过API与另一台计算机进行通信.所以我通常的技巧只是在我使用应用程序时向浏览器打印一些额外的调试信息不​​起作用.

我在相关应用程序中看到的示例代码显示了多个’puts’或’p’语句,用于查看正在发生的事情……

输出在哪里,我可以在程序执行时或之后看到输出.

一般来说,如果你在Heroku上托管的代码徘徊,那就是没有做你想要的,那么在代码输出消息中的各个地方最简单的方法就是“foo equals 123”,这样你就可以看到输出到弄清楚代码中发生了什么?

p和put不输出所以当我输入“heroku logs”时我可以看到的日志…

解决方法

根据 http://docs.heroku.com/logging,如果添加基本记录器(显然添加到2011年2月2日之后创建的所有应用程序),您应该可以使用puts和p转到您的日志.

对于使用Sinatra和Logger的非Heroku基本日志文件

require 'logger'
Dir.mkdir('logs') unless File.exist?('logs')
$log = Logger.new('logs/output.log','weekly')

configure :production do
  $log.level = Logger::WARN
end
configure :development do
  $log.level = Logger::DEBUG
end

get "/" do
  $log.debug "Hello,World!"
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...