Source code for mxcubeweb.logging_handler

import logging
import uuid


[docs]class MX3LoggingHandler(logging.handlers.BufferingHandler): def __init__(self, server): super().__init__(1000) self.server = server @server.flask_socketio.on("connect", namespace="/logging") @server.ws_restrict def connect(): pass def _record_to_json(self, record): try: record.asctime except AttributeError: record.asctime = logging._defaultFormatter.formatTime(record) return { "id": str(uuid.uuid4()), "message": record.getMessage(), "severity": record.levelname, "timestamp": record.asctime, }
[docs] def emit(self, record): if record.name == "user_level_log": record_dict = self._record_to_json(record) super().emit(record_dict) self.server.emit("log_record", record_dict, namespace="/logging")