From 8c4f0110fbb8e7c78f705a53e59e7a868dd9aa6e Mon Sep 17 00:00:00 2001 From: Ilan Steemers Date: Fri, 26 Jun 2015 18:07:44 +0200 Subject: [PATCH] Added default logger handler and made coloredlogs optional --- django_q/core.py | 21 +++++++++++++++++++-- django_q/tests/settings.py | 15 +++++++++++++++ requirements.txt | 1 - setup.py | 2 +- 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/django_q/core.py b/django_q/core.py index b77121c..fb074bc 100644 --- a/django_q/core.py +++ b/django_q/core.py @@ -27,7 +27,6 @@ except ImportError: import pickle # External -import coloredlogs import redis import arrow @@ -43,7 +42,25 @@ from .models import Task, Success, Schedule SIGNAL_NAMES = dict((getattr(signal, n), n) for n in dir(signal) if n.startswith('SIG') and '_' not in n) logger = logging.getLogger('django-q') -coloredlogs.install(level=getattr(logging, LOG_LEVEL)) + + +# Optional coloredlogs support +try: + import coloredlogs + + coloredlogs.install(level=getattr(logging, LOG_LEVEL)) +except ImportError: + coloredlogs = None + +# Set up standard logging handler +if not logger.handlers: + logger.setLevel(level=getattr(logging, LOG_LEVEL)) + + formatter = logging.Formatter(fmt='%(asctime)s [django_q] %(message)s', + datefmt='%H:%M:%S') + handler = logging.StreamHandler() + handler.setFormatter(formatter) + logger.addHandler(handler) Q_LIST = '{}:q'.format(PREFIX) STARTING = 'Starting' diff --git a/django_q/tests/settings.py b/django_q/tests/settings.py index 4c477e6..bf46c6c 100644 --- a/django_q/tests/settings.py +++ b/django_q/tests/settings.py @@ -81,6 +81,21 @@ USE_L10N = True USE_TZ = True +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'handlers': { + 'console': { + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + 'django_q': { + 'handlers': ['console'], + 'level': 'INFO', + }, + }, +} # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.8/howto/static-files/ diff --git a/requirements.txt b/requirements.txt index 722cee9..1046f11 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,5 @@ arrow==0.5.4 blessed==1.9.5 -coloredlogs==1.0.1 django-picklefield==0.3.1 Django==1.8.2 future==0.14.3 diff --git a/setup.py b/setup.py index 838568e..97ce110 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ setup( license='MIT', description='A multiprocessing task queue for Django', long_description=README, - install_requires=['django>=1.7', 'redis', 'coloredlogs', 'django-picklefield', 'blessed', 'arrow'], + install_requires=['django>=1.7', 'redis', 'django-picklefield', 'blessed', 'arrow'], test_requires=['pytest', 'pytest-django', ], cmdclass={'test': PyTest}, classifiers=[