Added logging to database

This commit is contained in:
Timofey Mazurov 2021-03-14 21:27:26 +03:00
parent e193ae0f55
commit b8883cc857

View File

@ -1,13 +1,18 @@
import logging
import os import os
from django.utils import timezone
from zenpy import Zenpy from zenpy import Zenpy
from zenpy.lib.exception import APIException from zenpy.lib.exception import APIException
from main.models import UserProfile from main.models import UserProfile, RoleChangeLogs
from access_controller.settings import ZENDESK_ROLES as ROLES from access_controller.settings import ZENDESK_ROLES as ROLES
# from access_controller.main.models import RoleChangeLogs
class ZendeskAdmin: class ZendeskAdmin:
""" """
Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора
@ -191,3 +196,27 @@ def check_user_auth(email: str, password: str) -> bool:
except APIException: except APIException:
return False return False
return True return True
class DatabaseHandler(logging.Handler):
def __init__(self):
logging.Handler.__init__(self)
self.database = RoleChangeLogs()
def emit(self, record):
# admin = ZendeskAdmin()
user = record.msg
# data = UserProfile.objects.filter(user=user.user)
self.database.name = user.name
self.database.new_role = user.role
self.database.user = user.user
self.database.changed_by = user.user
self.database.save()
def log(user):
dbhandler = DatabaseHandler()
logging.getLogger('MY_LOGGER').addHandler(dbhandler)
logger = logging.getLogger('MY_LOGGER')
logger.setLevel('INFO')
logger.info(user)