I have been trying to figure out the difference between the python logger and the celery logger, specifically the difference between the commands below, but cannot find a good answer.
I am using celery v3, with 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__)
The celery documentation (latest, v3.1) is very lacking on this topic. I have looked at similar questions such as this one, but it is still it unclear which to use, why to use that one, and specifically what the differences are. I am looking for a clear, concise answer.
I am also using sentry in my production environment. How does this choice affect your sentry logs? i.e. these common settings
From experience using get_task_logger
seems to get you a few things of importance, especially with Sentry.
celery.task
)Important: There is a bit of extra config that needs to go into Celery registration for Sentry:
https://docs.sentry.io/clients/python/integrations/celery/
You may be able to get errors to flow into Sentry without some of this setup, but I think this will give you the best traces and details + ensure that things like expected exceptions declared via throws
are properly ignored.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With