diff --git a/src/newsreader/conf/base.py b/src/newsreader/conf/base.py index 85a62ba..62008a3 100644 --- a/src/newsreader/conf/base.py +++ b/src/newsreader/conf/base.py @@ -103,13 +103,13 @@ CACHES = { # https://docs.djangoproject.com/en/2.2/topics/logging/#configuring-logging LOGGING = { "version": 1, - "disable_existing_loggers": True, + "disable_existing_loggers": False, "filters": { "require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}, "require_debug_true": {"()": "django.utils.log.RequireDebugTrue"}, }, "formatters": { - "django.server": { + "timestamped": { "()": "django.utils.log.ServerFormatter", "format": "[{server_time}] {message}", "style": "{", @@ -125,12 +125,7 @@ LOGGING = { "level": "INFO", "filters": ["require_debug_true"], "class": "logging.StreamHandler", - }, - "django.server": { - "level": "INFO", - "filters": ["require_debug_true"], - "class": "logging.StreamHandler", - "formatter": "django.server", + "formatter": "timestamped", }, "mail_admins": { "level": "ERROR", @@ -155,10 +150,15 @@ LOGGING = { "loggers": { "django": { "handlers": ["console", "mail_admins", "syslog_errors"], - "level": "INFO", + "level": "WARNING", }, "django.server": { - "handlers": ["django.server"], + "handlers": ["console", "syslog_errors"], + "level": "INFO", + "propagate": False, + }, + "django.request": { + "handlers": ["console", "syslog_errors"], "level": "INFO", "propagate": False, }, diff --git a/src/newsreader/conf/production.py b/src/newsreader/conf/production.py index 7e883f7..21a8d0f 100644 --- a/src/newsreader/conf/production.py +++ b/src/newsreader/conf/production.py @@ -53,11 +53,14 @@ REGISTRATION_OPEN = False # Optionally use sentry integration try: from sentry_sdk import init as sentry_init - from sentry_sdk.integrations.django import CeleryIntegration, DjangoIntegration + from sentry_sdk import integrations sentry_init( dsn=os.environ.get("SENTRY_DSN"), - integrations=[DjangoIntegration(), CeleryIntegration()], + integrations=[ + integrations.django.DjangoIntegration(), + integration.celery.CeleryIntegration(), + ], send_default_pii=False, ) except ImportError: diff --git a/src/newsreader/news/collection/feed.py b/src/newsreader/news/collection/feed.py index 35b0b1e..e237713 100644 --- a/src/newsreader/news/collection/feed.py +++ b/src/newsreader/news/collection/feed.py @@ -162,6 +162,8 @@ class FeedClient(Client): yield response_data except StreamException as e: + logger.exception("Request failed") + length = stream.rule._meta.get_field("error").max_length stream.rule.error = e.message[-length:] stream.rule.succeeded = False @@ -277,7 +279,7 @@ class FeedDuplicateHandler: remote_identifier=instance.remote_identifier ) except ObjectDoesNotExist: - logger.error( + logger.exception( f"Duplicate handler tried retrieving post {instance.remote_identifier} but failed doing so." ) return instance @@ -300,7 +302,7 @@ class FeedDuplicateHandler: try: existing_post = self.queryset.get(**query_values) except ObjectDoesNotExist: - logger.error( + logger.exception( f"Duplicate handler tried retrieving post {instance.remote_identifier} but failed doing so." ) return instance diff --git a/src/newsreader/news/collection/tasks.py b/src/newsreader/news/collection/tasks.py index 6888cba..c02953e 100644 --- a/src/newsreader/news/collection/tasks.py +++ b/src/newsreader/news/collection/tasks.py @@ -34,7 +34,9 @@ class FeedTask(app.Task): collector = FeedCollector() collector.collect(rules=rules) else: - logger.info(f"Cancelling task due to existing lock for user {user_pk}") + logger.warning( + f"Cancelling task due to existing lock for user {user_pk}" + ) raise Reject(reason="Task already running", requeue=False)