每当 Docker 中使用 gem 记录器时

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

我想知道如何获取来自 Docker 容器的 gem 任务日志。

  task my_task: :environment do
    Rails.logger.info 'start task'
    MyModel.call_some_method
  end

任务运行良好,我可以通过对数据库表所做的更改看到它。 但由于某种原因我无法从容器中获取任何日志信息。

我可以从容器中获取的唯一日志是:

# docker logs containerId
[write] crontab file updated

我尝试在schedule.rb中评论

:output
值或使用
set :output, '/dev/stdout'

但还是没有成功。

Dockerfile:

...

ENTRYPOINT ["/rails/bin/docker-cron-entrypoint"]

CMD ["cron", "-f"]

docker-cron-入口点文件:

#!/bin/bash -e
bundle exec whenever --update-crontab
exec "${@}"
ruby-on-rails docker logging cron whenever
1个回答
0
投票

检查这一点:通过 docker 日志查看 cron 输出,而不使用额外的文件

根据您使用的图像,正确答案可能会有所不同。我从来没有以这种方式使用过这个宝石,但似乎你需要玩那些

/proc/1/fd/1
,等等。

© www.soinside.com 2019 - 2024. All rights reserved.