Created
September 17, 2020 14:26
-
-
Save melvinkcx/79317c4c9b818f28a21e294ae8c8ec0b to your computer and use it in GitHub Desktop.
Configure Celery To Write Logs To Papertrail
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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