3

帮帮我;我一定错过了一些非常明显的东西。

我有一个在 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. 我尝试安装Papertrail。这实际上看起来相当不错!但它仍然没有我正在寻找的日志消息。
  3. 这是个好问题!我真的只是logger.info街区里before打了电话。完成更新此问题后,我将添加更多日志记录并回来查看。
  4. 现在您问:当我切换到在“生产”中运行时(在将 database.rb 更改为仅指向开发数据库之后),我的应用程序似乎也没有记录任何内容。我认为这意味着我只是从根本上错误地配置了 Padrino 日志记录。感谢您提出这个问题!
  5. 最新的 boot.rb 已提交。
  6. 不——不(故意)以任何方式弄乱标准输出。

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

4

1 回答 1

2

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

  1. 您是heroku logs -t在应用启动之前还是之后运行?如果您直到之后才运行它,那么放下-t开关并运行会heroku logs -s app显示什么吗?

  2. 您的应用程序中添加了任何syslog 排水插件吗?如果是这样,他们会显示什么吗?如果没有,请尝试添加一个并再次运行您的应用程序 - 是否有任何日志详细信息显示在排水管中?

  3. 部署到 heroku 后,如果您访问应用程序的网站并运行应用程序的页面,是否任何其他活动的输出会显示在日志或系统日志中?即,您是否能够确认这是否是您的应用程序在 heroku 的服务器上运行时的所有日志记录问题,而不是仅记录该before部分中的内容的问题?

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

  5. 您的 boot.rb 文件的最新版本是否已提交到您推送到 heroku 的 git 存储库?如果您heroku run ls在适当的目录上执行,您可以在 heroku web dyno 上看到该文件吗?

  6. 作为最后的手段,您没有做任何与标准输出混淆的事情,将输出或打印语句重定向到其他地方,或者任何事情或排序是你吗?

于 2012-08-29T23:06:12.260 回答