(cls, logger: logging.Logger, log_broker: LogBroker)
| 264 | |
| 265 | @classmethod |
| 266 | def set_queue_handler(cls, logger: logging.Logger, log_broker: LogBroker) -> None: |
| 267 | cls._ensure_logger_enricher_filter(logger) |
| 268 | |
| 269 | for handler in logger.handlers: |
| 270 | if isinstance(handler, LogQueueHandler): |
| 271 | return |
| 272 | |
| 273 | handler = LogQueueHandler(log_broker) |
| 274 | handler.setLevel(logging.DEBUG) |
| 275 | handler.addFilter(_QueueAnsiColorFilter()) |
| 276 | handler.setFormatter( |
| 277 | logging.Formatter( |
| 278 | "%(ansi_prefix)s[%(asctime)s.%(msecs)03d] %(plugin_tag)s [%(short_levelname)s]%(astrbot_version_tag)s " |
| 279 | "[%(source_file)s:%(source_line)d]: %(message)s%(ansi_reset)s", |
| 280 | datefmt="%Y-%m-%d %H:%M:%S", |
| 281 | ), |
| 282 | ) |
| 283 | logger.addHandler(handler) |
| 284 | |
| 285 | @classmethod |
| 286 | def _remove_sink(cls, sink_id: int | None) -> None: |
no test coverage detected