【发布时间】:2018-02-06 14:59:14
【问题描述】:
所以,我在 Heroku 上运行了一个简单的 Web 应用程序,它为输入一些数据和运行特定计算提供了一个很好的前端(这是一个学术问题)。在整个过程中,我经常使用 python 的 logging 库,因为有很多计算步骤,我想确保它们没问题。
但最近,与我一起做这件事的人决定他们也想查看日志,这应该很容易 - 我只是将它们全部发送到带有 FileHandler 的 .log 文件中,所以我'只是提供文件?但是,不,这不适用于 Heroku。
好吧,好吧,也许我会尝试使用QueueHandler,然后将队列转储到缓存中(我使用的是memcached服务),以便在用户请求日志时抓取它?
log = logging.getLogger("mc")
logqueue = queue.Queue()
queue_handler = QueueHandler(logqueue)
log.handlers = [ queue_handler ]
...(computation, generates logs)
cache.set('logList', logqueue.queue)
这同样适用于我的本地,但不适用于 Heroku;在cache.set 行,日志队列说它是空的。
所有这些东西都可以在我的本地机器上运行,我在这里扯头发,试图弄清楚为什么在 Heroku 上没有任何东西可以运行。这里有人对从这里尝试什么有任何想法吗?
谢谢!
【问题讨论】:
标签: python logging heroku flask