Heroku 调试

发布于 2024-11-07 02:20:20 字数 195 浏览 1 评论 0原文

我正在使用 Heroku 构建应用程序并遇到一些问题。 我想像调试 Rails 服务器一样调试一些内容:

logger.debug '...'

我怎样才能在 Heroku 中做到这一点,以便我可以在 Heroku 日志中看到调试? (或其他任何东西......)

谢谢!

I am building an application with Heroku and having some problems.
I want to debug some content like I do with rails server:

logger.debug '...'

How can I do that in Heroku, so I can see the debugging in heroku logs? (or anything else..)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

马蹄踏│碎落叶 2024-11-14 02:20:21

与这个问题斗争了很长时间,解决方案很好也很简单:

在 production.rb 而不是

config.log_level = :debug

place:

config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG

中设置,然后您将获得完整的日志记录输出。

Been fighting with this for a long time, solution is nice and simple:

Set in production.rb instead of

config.log_level = :debug

place:

config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG

and you get the full logging output.

演出会有结束 2024-11-14 02:20:21

命令行上的 heroku log 将为您提供当前应用程序的日志。如果您打开了扩展日志记录,您可以跟踪此输出

heroku logs on your command line will give you the logs for the current app. If you have expanded logging turned on you can tail this output

风蛊 2024-11-14 02:20:21

使用 Rails 3.2,我们通过修改 config/environments/{environment}.rb 来从环境变量驱动它来进行配置:

config.log_level = ENV["LOG_LEVEL"].to_sym if ENV["LOG_LEVEL"]

然后,我们可以修改 Heroku 配置变量来更改它:

heroku config:set LOG_LEVEL=debug --app <app name>

这让我们可以根据需要轻松记录更多或更少。

Using Rails 3.2, we made this configurable by modifying config/environments/{environment}.rb to drive it from an environment variable:

config.log_level = ENV["LOG_LEVEL"].to_sym if ENV["LOG_LEVEL"]

Then, we can modify the Heroku config variable to change it:

heroku config:set LOG_LEVEL=debug --app <app name>

This lets us easily log more or less as needed.

恏ㄋ傷疤忘ㄋ疼 2024-11-14 02:20:21

这对我有用:

heroku config:set LOG_LEVEL=debug

This worked for me:

heroku config:set LOG_LEVEL=debug
∞琼窗梦回ˉ 2024-11-14 02:20:21

要在 Heroku 上写入日志,无需使用 logger.debug "...",只需使用 puts

puts "..."

您甚至不需要在 config/environments/Production.rb 中设置 config.log_level 设置。

请参阅此处的文档。

To write to your logs on Heroku, instead of using logger.debug "..." simply use puts:

puts "..."

You don't even need to set the config.log_level setting in config/environments/production.rb.

See the docs here.

清音悠歌 2024-11-14 02:20:21
config.log_level = ENV['APP_LOG_LEVEL'] ? ENV['APP_LOG_LEVEL'].to_sym : :error
config.log_level = ENV['APP_LOG_LEVEL'] ? ENV['APP_LOG_LEVEL'].to_sym : :error
如果没有 2024-11-14 02:20:20

Heroku 中的 Cedar 堆栈似乎无法响应适用于以前堆栈的 LOG_LEVEL 配置 (env) 变量(我使用logging:expanded 插件)。我尝试将 LOG_LEVEL 设置为 debugDEBUG 但没有成功。

只有通过在 config/environments/Production.rb 中设置 config.log_level = :debug ,我才能看到“logger.debug”的输出。

The Cedar stack in Heroku does not appear to be responsive to the LOG_LEVEL config (env) variable that works for previous stacks (I use the logging:expanded addon). I tried setting LOG_LEVEL to both debug and DEBUG without success.

Only by setting config.log_level = :debug in config/environments/production.rb am I able to see the output of 'logger.debug'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文