Can someone please help and tell me how to get the celery task debug details to a log file? I have a requirement to have the details of celery task logged into a .log file.
Can you please make some suggestions on how this can be done without impacting the performance of the task?
Default is /var/run/celery/%n. pid. CELERYD_LOG_FILE — Full path to the worker log file.
Generally for configuring Celery you will have created a file in your main Django app in which your settings.py file is present. Add a config_loggers function in that file so that it is now able to use your configured settings for logging instead of its own.
celery -A yourproject. app inspect status will give the status of your workers. celery -A yourproject. app inspect active will give you list of tasks currently running, etc.
It's alway hard to answer with so little information in question, but I'll try. Celery have specific option -f --logfile
which you can use:
-f LOGFILE, --logfile=LOGFILE Path to log file. If no logfile is specified, stderr is used.
To get information about other options, just use celery worker --help
. If just want want celery worker with logging to file, your command may look like this:
celery worker -f <filename> python manage.py celery worker -f <filename> -> in django-celery case
There are a lot of logging options for Celery you may need: http://docs.celeryproject.org/en/latest/userguide/tasks.html#logging
If you want to log everything, you can use the following command
-f celery.logs
You can also specify different log levels as well. For suppose if you want log warning and errors add like following.
--loglevel=warning -f celery.logs
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