Skip to content

Outputs Traceback in the name #88

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions