28 lines
957 B
Python
28 lines
957 B
Python
|
|
import logging
|
|
from datetime import datetime
|
|
from pinecrypt.server import db
|
|
|
|
class LogHandler(logging.Handler):
|
|
def emit(self, record):
|
|
d= {}
|
|
d["created"] = datetime.utcfromtimestamp(record.created)
|
|
d["facility"] = record.name
|
|
d["level"] = record.levelno
|
|
d["severity"] = record.levelname.lower()
|
|
d["message"] = record.msg % record.args
|
|
d["module"] = record.module
|
|
d["func"] = record.funcName
|
|
d["lineno"] = record.lineno
|
|
d["exception"] = logging._defaultFormatter.formatException(record.exc_info) if record.exc_info else "",
|
|
d["process"] = record.process
|
|
d["thread"] = record.thread
|
|
d["thread_name"] = record.threadName
|
|
db.eventlog.insert(d, w=1)
|
|
|
|
def register():
|
|
for j in logging.Logger.manager.loggerDict.values():
|
|
if isinstance(j, logging.Logger):
|
|
j.setLevel(logging.DEBUG)
|
|
j.addHandler(LogHandler())
|