Skip to content

Outputs Traceback in the name #88

@sh1man999

Description

@sh1man999

I don't understand why it throws out the stack trace in the error name, and not as a separate attachment.

except Exception:
        logger.exception("Критическая ошибка в главном процессе")
def configure_logging(config: Config) -> None:
    log_format = (
        "[%(asctime)s.%(msecs)03d] [%(process)d] [%(levelname)-5s] "
        "[%(module)-30s -> %(funcName)-40s:%(lineno)-3d] - %(message)s"
    )
    datefmt = "%Y-%m-%d %H:%M:%S"

    stream_handler = logging.StreamHandler()
    stream_handler.setFormatter(logging.Formatter(fmt=log_format, datefmt=datefmt))
    stream_handler.setLevel(logging.INFO)

    seq_handler = seqlog.log_to_seq(
        server_url=config.seq_logger.server_url,
        api_key=config.seq_logger.api_key,
        level=logging.INFO,
        batch_size=10,
        auto_flush_timeout=5,
        override_root_logger=False,
        support_stack_info=False,
    )
    seqlog.set_callback_on_failure(
        lambda e: logging.exception(
                "Во время отправки логов в seq произошел сбой", exc_info=e
        ),
    )
    root_logger = logging.getLogger()
    # Удаляем обработчики с корневого логгера, чтобы им управлял QueueListener
    root_logger.handlers.clear()
    queue = multiprocessing.Queue(-1)  # Создаем очередь
    root_logger.addHandler(QueueHandler(queue))
    # Запускаем "слушателя" очереди в отдельном потоке
    listener = QueueListener(queue, *[stream_handler, seq_handler])
    listener.start()

i use seqlog version 0.4.1
seqlog version
Image

Image

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions