Dokku rails应用程序中我的自定义日志文件在哪里?

问题描述 投票:0回答:1

我在哪里可以找到我的Rails应用程序自定义日志?

例如:

efrsb_log ||= Logger.new("#{Rails.root}/log/get_trade_messages.log")
efrsb_log.error('No content in response')

在本地计算机上,我可以在应用程序容器的确切位置看到它们。但是在生产服务器上,我在日志文件夹中看不到任何内容。

dokku是否将所有日志都写入一个文件?

如果可以,我如何分隔不同的日志信息?

ruby-on-rails dokku
1个回答
0
投票
如果您需要在生产中管理dokku应用程序上的日志,最好在诸如papertail之类的syslog云服务上处理日志(以我的经验,到目前为止,该日志记录的最佳界面,不会破坏您的钱包)。

为此,您需要安装插件以导出日志。

1)安装dokku-logspout

dokku plugin:install https://github.com/michaelshobbs/dokku-logspout.git

2)将logspout指向PaperTrail syslog端点:

dokku logspout:server syslog+tls://logs.papertrailapp.com:12345

确保您的PaperTrail端点配置为接受TLS连接。

3)安装dokku-主机名:

dokku plugin:install https://github.com/michaelshobbs/dokku-hostname.git dokku-hostname

这将确保您的PaperTrail日志中的主机使用您的工作程序类似heroku的名称,而不是docker容器ID。

4)运行dokku logspout:start并使用logspout:stream以确保正确聚合了您的日志。

您可能会遇到以下几个问题::

    您可能需要为它们重新构建应用程序才能开始使用管道传输到logspout。 dokku ps:rebuildall
  • 当您重新部署应用程序时,类似于heroku的程序名称将丢失。要解决此问题,请运行dokku logspout:stop && dokku logspout:start。希望这个问题能尽快解决。
  • docker ps返回守护程序错误。以ubuntu身份运行sudo usermod -aG docker ubuntu && sudo reboot。
  • 来自“ Mike Bianco”的来源
  • © www.soinside.com 2019 - 2024. All rights reserved.