From da53c34e50e044187b7ab939d76933ae25821838 Mon Sep 17 00:00:00 2001 From: Timofey Mazurov Date: Sun, 14 Mar 2021 21:27:26 +0300 Subject: [PATCH] Added logging to database --- main/extra_func.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/main/extra_func.py b/main/extra_func.py index ada4a88..c9e72cb 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -1,3 +1,4 @@ +import logging import os from datetime import timedelta, datetime, date @@ -5,6 +6,7 @@ from django.contrib.auth.models import User from zenpy import Zenpy from zenpy.lib.exception import APIException + from access_controller.settings import ZENDESK_ROLES as ROLES, ONE_DAY from main.models import UserProfile, RoleChangeLogs @@ -382,3 +384,27 @@ class StatisticData: """ self.statistic.clear() self.fill_daterange(self.start_date, self.end_date + timedelta(days=1), 0) + + +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)