mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-12-20 18:11:17 +00:00
31 lines
789 B
Python
31 lines
789 B
Python
import logging
|
|
|
|
|
|
class PaperlessLogger(logging.StreamHandler):
|
|
"""
|
|
A logger smart enough to know to log some kinds of messages to the database
|
|
for later retrieval in a pretty interface.
|
|
"""
|
|
|
|
def emit(self, record):
|
|
|
|
logging.StreamHandler.emit(self, record)
|
|
|
|
if not hasattr(record, "component"):
|
|
return
|
|
|
|
# We have to do the import here or Django will barf when it tries to
|
|
# load this because the apps aren't loaded at that point
|
|
from .models import Log
|
|
|
|
kwargs = {
|
|
"message": record.msg,
|
|
"component": record.component,
|
|
"level": record.levelno,
|
|
}
|
|
|
|
if hasattr(record, "group"):
|
|
kwargs["group"] = record.group
|
|
|
|
Log.objects.create(**kwargs)
|