Files
HangmanLab.Backend/logging_handlers/DatabaseLogHandler.py
2024-12-02 18:33:39 +00:00

19 lines
610 B
Python

#logging_handlers/DatabaseLogHandler.py
import logging
import traceback
from db import get_db
from db.models.BackendLog import BackendLog
class DatabaseLogHandler(logging.Handler):
def emit(self, record):
message = self.format(record)
level = record.levelname
extra = getattr(record, 'extra', None)
log_entry = BackendLog(message=message, level=level, extra=extra)
try:
with get_db() as db:
db.add(log_entry)
db.commit()
except Exception:
print(f"Failed to log to database: {traceback.format_exc()}")