Added csv file logging
This commit is contained in:
parent
933ebb72d6
commit
259ab76cba
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,6 +12,7 @@ local_settings.py
|
|||||||
db.sqlite3
|
db.sqlite3
|
||||||
db.sqlite3-journal
|
db.sqlite3-journal
|
||||||
media/
|
media/
|
||||||
|
logs.csv
|
||||||
|
|
||||||
# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/
|
# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/
|
||||||
# in your Git repository. Update and uncomment the following line accordingly.
|
# in your Git repository. Update and uncomment the following line accordingly.
|
||||||
|
@ -393,9 +393,7 @@ class DatabaseHandler(logging.Handler):
|
|||||||
self.database = RoleChangeLogs()
|
self.database = RoleChangeLogs()
|
||||||
|
|
||||||
def emit(self, record):
|
def emit(self, record):
|
||||||
# admin = ZendeskAdmin()
|
|
||||||
user = record.msg
|
user = record.msg
|
||||||
# data = UserProfile.objects.filter(user=user.user)
|
|
||||||
self.database.name = user.name
|
self.database.name = user.name
|
||||||
self.database.user = user.user
|
self.database.user = user.user
|
||||||
self.database.changed_by = user.user
|
self.database.changed_by = user.user
|
||||||
@ -407,9 +405,37 @@ class DatabaseHandler(logging.Handler):
|
|||||||
self.database.save()
|
self.database.save()
|
||||||
|
|
||||||
|
|
||||||
|
class CsvFormatter(logging.Formatter):
|
||||||
|
def __init__(self):
|
||||||
|
logging.Formatter.__init__(self)
|
||||||
|
|
||||||
|
def format(self, record):
|
||||||
|
user = record.msg
|
||||||
|
msg = ''
|
||||||
|
msg += user.name
|
||||||
|
if user.custom_role_id == ROLES['engineer']:
|
||||||
|
msg += ',engineer,'
|
||||||
|
elif user.custom_role_id == ROLES['light_agent']:
|
||||||
|
msg.append('light_agent')
|
||||||
|
time = str(timezone.now().today())
|
||||||
|
msg += time[:16]
|
||||||
|
msg += ','
|
||||||
|
msg += user.name
|
||||||
|
return msg
|
||||||
|
|
||||||
|
|
||||||
def log(user):
|
def log(user):
|
||||||
|
"""
|
||||||
|
Осуществляет запись логов в базу данных и csv файл
|
||||||
|
:param user: request.user.userprofile
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
dbhandler = DatabaseHandler()
|
dbhandler = DatabaseHandler()
|
||||||
logging.getLogger('MY_LOGGER').addHandler(dbhandler)
|
csvformatter = CsvFormatter()
|
||||||
|
csvhandler = logging.FileHandler('logs.csv', "a")
|
||||||
|
csvhandler.setFormatter(csvformatter)
|
||||||
logger = logging.getLogger('MY_LOGGER')
|
logger = logging.getLogger('MY_LOGGER')
|
||||||
|
logger.addHandler(dbhandler)
|
||||||
|
logger.addHandler(csvhandler)
|
||||||
logger.setLevel('INFO')
|
logger.setLevel('INFO')
|
||||||
logger.info(user)
|
logger.info(user)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user