[英]Celery logs to Papertrail
我正在使用Flask和Celery构建应用程序,并且正在尝试将应用程序日志发送到Papertrail。 这对于我的常规(同步)应用程序日志来说很好用。 配置如下所示:
import logging
from logging.handlers import SysLogHandler
import socket
class ContextFilter(logging.Filter):
hostname = socket.gethostname()
def filter(self, record):
record.hostname = ContextFilter.hostname
return True
f = ContextFilter()
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.addFilter(f)
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
syslog = SysLogHandler(address=('<myapp>.papertrailapp.com', <port>))
syslog.setFormatter(formatter)
logger.addHandler(syslog)
我曾尝试将此记录器添加到Celery任务中,但我看到的只是在sdout中输出,而在Papertrail中什么也没有。 Celery是否可以解决正常的日志记录流程?
我意识到Celery具有特定于任务的记录器,但是我找不到有关如何使用Celery对其进行配置的任何文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.