19 lines
610 B
Python
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()}") |