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
from django.utils import timezone
from zenpy import Zenpy
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.main.models import RoleChangeLogs
class ZendeskAdmin:
"""
Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора
@ -191,3 +196,27 @@ def check_user_auth(email: str, password: str) -> bool:
except APIException:
return False
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)