2012-08-15 39 views
3

帮我看看这里;我一定会错过一些非常明显的东西。如何在Heroku上启用Padrino应用程序的日志记录?

我有一个在Heroku上运行的Padrino应用程序。在的boot.rb,在块传递给Padrino.before_load,我有以下行:

Padrino::Logger::Config[:production][:log_level] = :info 
Padrino::Logger::Config[:production][:stream] = :stdout 

,并在app.rb的before块,我不得不logger.info整个散电话。

这在我的开发机器上记录到标准状态。但是,当我检查我的Heroku日志:

heroku logs -t -s app 

...我什么也没看到(只是从瘦服务器启动信息的最初3行)。

我错过了什么?


澄清响应的一些点culix

  1. 切换到heroku logs -s app应用程序启动后,我不会改变任何东西。
  2. 我试过安装​​。这实际上看起来相当不错!但它仍然没有我正在寻找的日志消息。
  3. 这是个好问题!我真的确实只需拨logger.infobefore块。在完成更新此问题后,我将添加更多日志记录并进行检查。
  4. 现在你问:当我切换到“生产”(在将database.rb改为指向开发数据库之后)时,我的应用似乎没有记录任何东西。 我想这意味着我只是从根本上配置Padrino日志不正确。感谢您提出这个问题!
  5. 最新的boot.rb已经提交。
  6. 不会(有意)以任何方式混淆stdout。

显然,我应该花时间调查的第一件事是上面的#4;这就是我现在要做的。然后,如果它什么都没有产生,就到#3。

+0

很高兴听到你有一些线索:)让我贴! – culix 2012-09-02 18:52:07

回答

2

这里有一些简单的问题,只是为了确保我们已经介绍了基础知识:

  1. 都在你面前或者您的应用程序开始运行后heroku logs -t?如果你没有运行,直到之后才会放下-t开关并运行heroku logs -s app显示任何东西?

  2. 你有任何syslog drain addons添加到您的应用程序?如果是这样,他们显示什么?如果没有,请尝试添加一个并再次运行您的应用程序 - 是否在日志中显示任何日志细节?

  3. 在部署到heroku之后,如果您访问您的应用的网站并锻炼您的应用的页面,是否显示其他任何活动的输出显示在日志或系统日志中?即您是否能够确认在heroku服务器上运行时,是否存在针对您的应用的所有日志记录的问题,而不是在before部分中记录事件的问题?

  4. 在本地机器上运行时,您的应用程序是否仍然登录到:production,或者是否在其他地方登录?即您的应用程序在本地执行的操作与在Heroku机器上运行时相同吗?您部署的应用程序是否设置为以不同的Padrino日志环境运行?

  5. 是你的boot.rb文件的最新版本提交给你推向heroku的git仓库吗?如果您在相应的目录上执行heroku run ls,您是否可以在heroku web dyno上看到该文件?

  6. 作为最后的手段,你不会做任何与stdout混淆的事情,将输出或打印语句重定向到其他地方,或者其他什么,或者你是那种?

+1

这些完全水平的问题让我发现,即使在本地运行“PADRINO_ENV”设置为“生产”,我也没有看到我期望的日志记录。这让我尝试了其他设置日志级别的方法,最终我发现,使用适当的设置设置常量“PADRINO_LOGGER”让我可以在任何想要的地方找到我。谢谢! – 2012-09-04 16:08:55

+0

太棒了!很高兴工作! :) – culix 2012-09-04 16:13:46

相关问题