Skip to content

Instantly share code, notes, and snippets.

@melvinkcx
Created September 17, 2020 14:26
Show Gist options
  • Save melvinkcx/79317c4c9b818f28a21e294ae8c8ec0b to your computer and use it in GitHub Desktop.
Save melvinkcx/79317c4c9b818f28a21e294ae8c8ec0b to your computer and use it in GitHub Desktop.
Configure Celery To Write Logs To Papertrail
import logging
import os
from celery import Celery
from celery.schedules import crontab
from celery.signals import after_setup_logger, after_setup_task_logger
from django.conf import settings
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
def setup_loggers(logger, *args, **kwargs):
# SysLogHandle, augmenting to Papertrail
handler = logging.handlers.SysLogHandler(address=settings.PAPERTRAIL_ADDRESS, )
default_formatter = 'CeleryWorkers: {asctime} - {name} - {levelname} - {message}'
formatter = logging.Formatter(default_formatter, style="{")
handler.setFormatter(formatter)
logger.addHandler(handler)
if not settings.DEBUG:
after_setup_logger.connect(setup_loggers)
after_setup_task_logger.connect(setup_loggers)
app = Celery("my_project")
#...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment