Heroku工作者未记录或打印日志

4

我有一个Heroku的worker dyno,但它没有将任何内容打印或记录到Heroku日志中。

我在procfile中设置了worker,使得所有logging.info()命令都应该起作用:

worker: celery -A tasks worker -B --loglevel=info

这是tasks.py文件:

from celery import Celery
from celery.decorators import periodic_task
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
import json
import settings, logging
import datetime
from mongoengine import DoesNotExist

app = Celery('tasks', 
    broker=settings.get('rabbitmq_bigwig_url'),
    backend='amqp')

@periodic_task(run_every=datetime.timedelta(minutes=1))
def test():
    print 'Not printing!'
    logging.info('Also not printing!')

我该如何让打印/日志消息写入Heroku的日志中?我尝试了所有Heroku日志命令(heroku logs、heroku logs --ps worker等)。

Heroku正在输出诸如app [worker.1]:[2015-04-18 19:22:45,581:INFO / Beat] Scheduler:发送到期任务tasks.awake(tasks.test),但未记录“不打印!”或“也不打印!” - XcrossY
1个回答

0
在您提供的示例中,您初始化了logger = get_task_logger(__name__),但是当您想要记录某些内容时,您使用的是logging.info(..)。 在最后一行中,将logging.替换为logger.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接