Celery Logging UnicodeDecodeError使用'ascii'卡住

时间:2018-10-24 14:10:06

标签: python-3.x celery

我将celery == 4.2.1与msgpack + msgpack_numpy用作Python3.6上的序列化器

我遇到一个问题,即由于UnicodeDecodeError,芹菜任务成功记录器无法记录。

[2018-10-24 14:03:44,944: WARNING/ForkPoolWorker-6] --- Logging error ---
[2018-10-24 14:03:44,944: WARNING/ForkPoolWorker-6] Traceback (most recent call last):
[2018-10-24 14:03:44,944: WARNING/ForkPoolWorker-6] File "/usr/lib/python3.6/logging/__init__.py", line 994, in emit
    stream.write(msg)
[2018-10-24 14:03:44,944: WARNING/ForkPoolWorker-6] UnicodeEncodeError: 'ascii' codec can't encode characters in position 925-930: ordinal not in range(128)

我对记录器为何尝试使用“ ascii”编解码器感到困惑。就我所知,我不是要求这样做。这些记录器是芹菜默认设置。

我还看到了有关此错误的其他问题,这些问题建议设置LANG或LC_ALL并检查sys.getdefaultencoding()的输出。

我在日志记录前(我编辑了芹菜源)运行sys.getdefaultencoding(),并且得到了预期的utf-8

有人可以指出我要更改的代码部分吗?据我了解,'ascii'不应是芹菜记录器使用的默认编码。

0 个答案:

没有答案