4
我一直想弄清楚Python記錄器和芹菜記錄器之間的區別,特別是下面的命令之間的區別,但無法找到一個好的答案。celery.utils.log中的獲取記錄器函數與日誌記錄有什麼不同?
我正在使用芹菜v3,與Django 1.10。
from celery.utils.log import get_task_logger
logger = get_logger(__name__)
...
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
...
import logging
logger = logging.get_logger(__name__)
芹菜文檔(latest,v3.1)非常缺乏關於這個話題。 我看了類似的問題,如this one,但它仍然不清楚使用哪個,爲什麼要使用那個,特別是差異是什麼。我正在尋找一個清晰,簡潔的答案。
我也在我的生產環境中使用哨兵。這個選擇如何影響你的哨兵日誌?即these常見設置
這是有幫助的。在接受之前我會測試一下。你知道在任務中調用的函數(即util函數,管理函數等)中的記錄器是否也具有此屬性?我的印象是,除非他們也用get_task_logger調用。 – jmerkow
只是爲了清楚我需要把'celery.task'這樣的東西:{ 'level':'INFO', 'handlers':['console','sentry'], 'propagate':False, },當我使用get_task_logger時,在我的配置中? – jmerkow
@jmerkow「你知道在任務中調用的函數(即util函數,管理函數等)中的記錄器是否也有這個屬性?」 好問題。根據我在Sentry中看到的內容,它看起來像是從堆棧報告的下一個報告到他們正在使用的記錄器的功能,雖然他們確實使Sentry在上下文中有些缺乏,而如果在正常執行中捕獲相同的條目。我也可以說,我們沒有任何特殊處理'celery.task'在我們的記錄器。這個設置得到的東西流動:https://docs.sentry.io/clients/python/integrations/celery/ –