Added logging to database
This commit is contained in:
parent
e193ae0f55
commit
b8883cc857
@ -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** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора
|
||||
@ -28,7 +33,7 @@ class ZendeskAdmin:
|
||||
email: str = os.getenv('ACCESS_CONTROLLER_API_EMAIL')
|
||||
token: str = os.getenv('ACCESS_CONTROLLER_API_TOKEN')
|
||||
password: str = os.getenv('ACCESS_CONTROLLER_API_PASSWORD')
|
||||
_instance=None
|
||||
_instance = None
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
if cls._instance is None:
|
||||
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user