From 3dab61542b6b3fbcd92a8eec4b8e944494c32abe Mon Sep 17 00:00:00 2001 From: gzbender Date: Thu, 8 Aug 2019 13:13:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B5=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F=20=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=81=D1=82=D0=B8=D0=BA=D0=B0=20roistat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/payment/tasks.py | 9 ++++++- project/settings.py | 62 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/apps/payment/tasks.py b/apps/payment/tasks.py index e30f4e19..261d4a9c 100644 --- a/apps/payment/tasks.py +++ b/apps/payment/tasks.py @@ -55,4 +55,11 @@ def transaction_to_roistat(user_id, payment_id, event_name, amount, time, status key = settings.ROISTAT_KEY url = settings.ROISTAT_API_URL + f'/project/add-orders?key={key}&project={project}' resp = requests.post(url, json=body) - logger.info('TRANSACTION_TO_ROISTAT: ' + str(resp)) + try: + resp_json = resp.json() + except: + resp_json = None + if resp.status_code != 200 or not resp_json or not resp_json.get('processed'): + logger.error('TRANSACTION_TO_ROISTAT for payment %d, price %s: %s' % (payment_id, amount, resp.text)) + else: + logger.info('TRANSACTION_TO_ROISTAT: ' + str(resp)) diff --git a/project/settings.py b/project/settings.py index 0cfc970e..75d0013e 100644 --- a/project/settings.py +++ b/project/settings.py @@ -162,6 +162,68 @@ USE_L10N = True # USE_TZ = True +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + }, + 'require_debug_true': { + '()': 'django.utils.log.RequireDebugTrue' + } + }, + 'formatters': { + 'verbose': { + 'format': '%(levelname)s:%(name)s: %(message)s ' + '(%(asctime)s; %(filename)s:%(lineno)d)', + 'datefmt': "%Y-%m-%d %H:%M:%S", + }, + 'simple': { + 'format': '{levelname} {message}', + 'style': '{', + }, + }, + 'handlers': { + 'mail_admins': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + }, + 'console': { + 'level': 'DEBUG', + 'filters': ['require_debug_true'], + 'class': 'logging.StreamHandler', + 'formatter': 'verbose', + }, + 'log_file': { + 'level': 'INFO', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': 'logs/main.log', + 'maxBytes': 1024 * 1024 * 5, # 5 MB + 'backupCount': 7, + 'formatter': 'verbose', + 'filters': ['require_debug_false'], + }, + }, + 'loggers': { + 'django.request': { + 'handlers': ['mail_admins', 'console'], + 'level': 'ERROR', + 'propagate': True, + }, + 'django': { + 'handlers': ['console', ], + }, + 'py.warnings': { + 'handlers': ['console', ], + }, + '': { + 'handlers': ['console', 'log_file',], + 'level': "INFO", + }, + } +} # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.0/howto/static-files/